现在的位置: 首页 > 综合 > 正文

Asp.net2.0连接SqlServer200的时候需要注意的问题

2013年11月01日 ⁄ 综合 ⁄ 共 1229字 ⁄ 字号 评论关闭

用过VS2005开发的兄弟们都知道,在新建一个网站项目的时候,要求选择一个网站位置,既可以不使用IIS做开发WEB服务器,而使用文件系统,也就是VS2005自带的一个WEB服务器运行网站.

我有一个项目,是在"文件系统"方式下开发的,数据库系统是SQLSERVER2000,在开发时,一切正常.
但是在发布时,我们要使用IIS,当项目布署到IIS下时,访问SQLSERVER2000的代码无法执行.连接数据库时被强制要求访问SQLSERVER2005,并提示了
<
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

>
切换回了"文件系统"方式,错误消失了....

解决办法:

1.
打开IIS属性-》虚拟目录属性-》选Net 2.0-》点‘编辑配置’-》删除所有连接SQlexpress的项
当然,最好连全局的配置也删除,
打开IIS属性-》站点属性-》选Net 2.0-》点‘编辑全局配置’
-》删除所有连接SQlexpress的项

2.在应用服务器的日志中,找到了
异常信息:
异常类型: SqlException
异常消息: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

请求信息:
请求 URL: http://localhost/Test/default.aspx

请求路径: /Test/default.aspx
用户主机地址: 127.0.0.1
用户:
是否已经过身份验证: False
身份验证类型:
线程帐户名: NT AUTHORITY/NETWORK SERVICE

于是我判断是SQLSERVER服务器的问题.

3.在数据库日志中发现了
您运行的 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 的最新服务包。

于是我换了一台刚装好系统的服务器,并下载了SP4的补丁打上了.

果然,连起来再试,成功了....
看来,还是要多打补丁啊....

抱歉!评论已关闭.