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

    技术2022-05-20  50

    在建立与服务器的连接时出错。在连接到 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有图有真相!

     


    最新回复(0)