在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) [SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]
看到这个是不是很头痛,明明没装SQL2005怎么报错呢!
现在说一下解决方法:
你确定你SQL打SP4补丁没有?
打上SQL Server 2000的SP4补丁就行了,有人说连接SQL Server 2000根本没打SP4也能正常访问,
如果SQL Server 2000安装在Windows Server 2003系统下的话,就要打补丁才能解决这个问题!
---------------
如果还没解决继续看...
这个现象仅出现在通过 IIS 访问的情况下,而通过 File System 方式启动却没问题。
在 后面紧接着加上 , 删除所有内置的连接串,然后写上自己的 connectionstring.
另外,有时候远程 SQL Server 机器如果无法获取 IP 地址,也可能会出现这个问题,在使用 VPN Connection 无法解析计算机名时比较多见。
解决办法是 Data Source 的值使用 IP 地址,或者在 hosts文件 中强制解析计算机名。
注意:如果你更改了计算机名称,查看SQl的服务器管理中的服务器是否更新为新服务器名称,再查看一下web.config里的Data Source也随之进行更改,否则也会报这个错误!!
解决提示来自于http://blog.sina.com.cn/s/blog_59bc146c0100d3z7.html【SQL在建立与服务器的连接时出错的解决方法】中的这段文件:
“
注意:上面的问题是常规解决方法,我这次遇到的问题都没有百度到,为什么呢,前两天是好的,现在没用了,想想你最近对系统进行过哪些操作,哦,对.我改过了计算机名,而在连接时,默认的计算机名称是你上次登录时的计算机名,并没有随之更改,所以出问题了,需要将服务器名称改为"新计算机名"+"/SQLEXPRESS",为了防止出现一些权限方面的问题,比如文件被设为只读,不能附加等情况的出现,最好还是选择windows验证.问题解决!
”
--------------
如果上边不行你继续看:
打开IIS属性-》虚拟目录属性-》
选Net 2.0->点编辑配置->
删除所有连接SQlexpress的项 当然,最好连全局的配置也删除
打开IIS属性-》站点属性->选Net 2.0->点编辑全局配置 ->删除所有连接SQlexpress的项
原因:SQLSERVER2000服务器上安装了VS2005,安全机制提高造成的
(SQL LOG ERROR:您运行的 Microsoft SQL Server 2000 版本
或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和
Microsoft Windows Server 2003 家族使用时存在已知的 安全弱点。
为了减少计算机被某些病毒的攻击,Microsoft SQL Server 2000,
MSDE 或 两者的 TCP/IP 和 UDP 网络端口被禁用。要启用这些端口,
您必须从
http://www.microsoft.com/sql/downloads/default.asp
或http://www.microsoft.com/china/sql/downloads/default.asp
安装一个修补程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包。)
我只是下了补丁:
安装补丁步骤:
下载下来,解压后,
SQL2000.MSDE-KB884525-SP4-x86-CHS.EXE SQL2000.AS-KB884525-SP4-x86-CHS.EXE SQL2000-KB884525-SP4-x86-CHS.EXE 双击上面任何一个文件,有个选择路径的,其实那个不是安装,是解压,解压到选择目录后,进那个目录点击setup.exe执行安装。 关于服务器win2003的站点配置:http://wenku.baidu.com/view/2d6a892ded630b1c59eeb587.html有图有真相!