没装SQL2005时 ASP.NET 2.0中报 SQL Server 2005 连接失败的解决方法

本文针对在连接SQL Server 2005过程中出现的错误进行了详细的分析,并提供了多种解决方案,包括安装补丁、修改连接字符串、调整IIS配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在建立与服务器的连接时出错。在连接到 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.htmlSQL在建立与服务器的连接时出错的解决方法】中的这段文件:

注意:上面的问题是常规解决方法,我这次遇到的问题都没有百度到,为什么呢,前两天是好的,现在没用了,想想你最近对系统进行过哪些操作,哦,对.我改过了计算机名,而在连接时,默认的计算机名称是你上次登录时的计算机名,并没有随之更改,所以出问题了,需要将服务器名称改为"新计算机名"+"/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有图有真相!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值