2006-10-12 16:05:28
XP下web developer 2005连接SQL2005的问题
BY - sunnyam
前段时间,在Win2003server+VS2005+SQL2005上做C#的ASP.net一直很顺利。
这两天下载了Web Developer 2005 express在办公室我的性能不好的工作机上用一用,工作机的系统是XP。随之安装了sql server 2005 express。做了一个页面,试着连接数据库,以前做得很熟的东西出错了。
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
错误信息很明显,SQLSERVER2005在默认设置下不允许远程连接,以前也遇到过一次,但我这是在本机,应该不存在远程的问题呀。没办法,先试一试吧,不过以前的解决办法已经忘了,上网搜:)以下为搜到的结果:
打开“SQL Server 外围应用配置器”,选择“服务和连接的外围应用配置器”,然后将“远程连接”配置为“同时使用 TCP/IP 和 named pipes
再试,还是不对。
难道是我的连接字串有误?打开VS自带的数据库连接工具,再试,依然不行。
再上网搜,以下为可能解决方案:
是否安装服务器时,验证方式选择了Windows验证?
要改变这点比较容易。先使用Windows验证的方式登陆Management Studio,
右键点击Object Explorer的目标服务器,选择Properties,再点击Security,
在Server authertication节上选择“SQL Server and Windows Authentication mode”。然后重启服务。
如果选择了Windows验证方式安装的服务器,那么sa帐号可能被停用。通过SA的属性页可以启用SA帐户。
再试,,,,再是不行,要晕死了。
突然想到,本机为XPsp2,是否自带的防火墙禁止了对数据库端口的连接。打开防火墙,在例外中加入tcp 1433端口,UDP1434端口。
再试,数据库找到。成功,用VS生成的数据源绑定的gridview显示数据正常。成功

以上内容希望对XP下安装有数据库连接的软件的朋友有帮助,我下一次也能快快的想起今天是怎么弄的了。
