“在建立与服务器的连接时出错。在连接到 SQLServer 2005 时,在默认的设置下 SQL Server不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序,error: 40 - 无法打开到 SQL Server 的连接)”
我太恨这句话了。本以为会很简单的数据库连接,居然困扰了我好几天。问了身边很多人、查了大量资料无果,今天终于在网上找到正确的答案并顺利解决了。究其根本,原因出在server参数设置的问题上。
以下是完整的解决方案:
1.安装一个SQLServer的管理工具(VS2005只有配置工具),据说微软的官方网站有下。
2.开启sql2005远程连接功能,开启办法如下:
配置工具->sqlserver外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的DatabaseEngine 节点,选择"远程连接",接下建议选择"同时使用TCP/IP和namedpipes",确定后,重启数据库服务就可以了.
3.登陆设置改为,Sql server and windowsAuthentication方式同时选中,具体设置如下:
manage管理器->windowsAuthentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属性>security>Sqlserver and windows Authentication方式同时选中.
4:设置一个Sql server方式的用户名和密码,具体设置如下:
进入manage管理器后,找到服务器下的Security->Logins->sa,右键属性,设置密码为sa(当然也可以设置其他用户名和密码)这样就设置了一个用户名为sa,密码为sa的用户,下次在登陆时,可以用Sql server方式,用户名为sa,密码为:sa的用户进数据库了。
5: 做完上面四步后,这样写连接字符串就可以顺利进入数据库了,
(server=.//sqlexpress;uid=sa;pwd=sa;database=master");
注意!正确的Server名是这样的,机器名/SQLEXPRESS而不是LOCALHOST,127.0.0.1,MJZG(机器名)比如我的是这样的Server:TDS/SQLEXPRESS