可怜的我啊,搞了一个下午,连接 C#连接Sql server2005,就是连接不上,
然后查资料啊查资料,不仅抱怨国内的文章千篇一律,都没讲清楚到底怎样去写
怎样去配置,你转载我,我转载你。当然,我也喜欢转载。。。。,哈哈哈哈
遇到的问题,就是连接不上Sql server2005, 提出的错误是:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服
务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命
名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
于是,找啊,找啊,找啊,找啊,找到的就是这篇文章的上面那一个文章。
其实连接的代码都差不多对了,但是没有人点出来,还有端口的问题。
默认安装的Sql server2005是端口不是1433,我们要的是1433.
1.打开Sql server 管理配置器
2.点击SqlExpress的协议,我们要启动所有状态。
3.选择TCP/IP,点击右键,选择属性,我们修改连接数据库的端口地址,非常重要
4.修改三处,第一你查看下跳出来的对话框,里面有好多TCP/IP的端口。我们要找的是三处。
5.IP地址 是自己电脑的地址 在TCP端口添加1433,然后选择启动
6. IP地址是127.0.0.1的是默认的,也要改掉,如上
8.IPALL是否是表示所有端口??反正也要修改下端口地址了。
9.重新启动服务,不支持热修改,修改重新启动服务。
好了,这就是修改好了端口了。
下面贴代码
这个代码是可以运行的,所以您无需担心,你写的代码是有问题的,你要修改的就是习惯你的数据库
strConnection += "initial catalog=修改成为你自己创建的数据库;Data Source=localhost;";
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace dbApp { class Program { static void Main(string[] args) { Console.WriteLine("Hello Word1"); Program.LinkDB(); Console.WriteLine("Hello Word3"); Console.ReadLine(); } static void LinkDB() { Console.WriteLine("Hello Word2"); string strConnection = "uid=sa; password=sa; "; strConnection += "initial catalog=netdb;Data Source=localhost;"; strConnection += "Connect Timeout=3"; // string constr = "server=.;database=myschool;integrated security=SSPI"; //string constr = "server=.;database=myschool;uid=sa;pwd=sa"; // strConnection = "data source=.;initial catalog=netdb;user id=sa;pwd=sa"; try { SqlConnection objConnection = new SqlConnection(strConnection); // SqlConnection objConnection = new SqlConnection(strConnection); objConnection.Open(); Console.WriteLine("连接数据库成功"); objConnection.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
--------------------------------------------------------------------------------------------------------------
如果你还是连不上,那么再去查看如下的配置:
这个你在查看下。
然后重新启动下你的电脑,在连接下代码试试看。你首先要保证,你通过sa 可以进入到sql server2005
-----------------------------------------------------