ASP.NET连接数据库时出现如下错误,该怎么办?

用户代码未处理 System.Data.SqlClient.SqlException
Message=已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: Shared Memory Provider, error: 0 - 管道已结束。)
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
Class=20
LineNumber=0
Number=109
Server=.\SQLEXPRESS
State=0
StackTrace:
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.SqlClient.SqlConnection.Open()
在 DbHelperSQL.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) 位置 C:\Documents and Settings\Administrator\桌面\DotNet.SQLServer\DbHelperSQL.cs:行号 1058
在 DbHelperSQL.ExecuteScalar(CommandType cmdType, String cmdText, SqlParameter[] cmdParms) 位置 C:\Documents and Settings\Administrator\桌面\DotNet.SQLServer\DbHelperSQL.cs:行号 1036
在 DotNet.SQLServer.DiscussControler.GetDiscussCount() 位置 C:\Documents and Settings\Administrator\桌面\DotNet.SQLServer\DiscussControler.cs:行号 294
在 DotNet.discuss.index.dlBinder() 位置 C:\Documents and Settings\Administrator\桌面\DotNet\discuss\index.aspx.cs:行号 50
在 DotNet.discuss.index.Page_Load(Object sender, EventArgs e) 位置 C:\Documents and Settings\Administrator\桌面\DotNet\discuss\index.aspx.cs:行号 40
在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:

这是比较全的一个解释。看了之后,相信你可以找到你的错误原因了。如下:

一、为 SQL 启用远程连接

1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。
注意:请在接收到以下消息时单击“确定”:
直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。
4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
二、启用 SQL Server Browser 服务
1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
3. 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。
注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。
4. 单击“启动”,然后单击“确定”。
三、在 Windows 防火墙中为SQL Server 2005 创建例外
1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
2. 在“添加程序”窗口中,单击“浏览”。
3. 单击 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可执行程序,单击“打开”,然后单击“确定”。
注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。
四、在 Windows 防火墙中为 SQL Server Browser 服务创建例外
1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
2. 在“添加程序”窗口中,单击“浏览”。
3. 单击 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可执行程序,单击“打开”,然后单击“确定”。
注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。
五、远程连接端口设置(很关键的一步,很多方法只讲了一到四步,却没有讲到第五步)
1、在服务器上打开SQL Server Configuration Manager。选择SQL Server配置治理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPALL->TCP端口,设置为可用端口。(如果默认的1433端口老是连接不上,你就设置为你确认已经打开的端口试试,如21端口等)
2、在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。

按照上面的步骤,就可以完成远程连接数据库的功能!

可以在本机进行测试:打开SQL2005,登陆时输入自己的IP,用户名,密码进行测试!
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-18
如果你连接的是远程服务器,是远程服务器不允许链接。
打开SQL SERVER 2005菜单中的配置工具下的SQL SERVER Configuration Manager.点击窗体中,打开SQL SERVER 2005 网络配置的下节点,选择MSSQLSERVER的协议。把右边窗口的TCP/IP的属性已禁用,改为已启用,就OK了本回答被网友采纳

ASP.NET连接数据库时出现如下错误,该怎么办?
1、在服务器上打开SQL Server Configuration Manager。选择SQL Server配置治理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP\/IP,在弹出对话框中选择IP地址->IPALL->TCP端口,设置为可用端口。(如果默认的1433端口老是连接不上,你就设置为你确认已经打开的端口试试,如21端口等)2、在“服务...

visual studio 2010 asp.net 连接数据库失败怎么办,他是这种情况,求大...
1、检查一下你的配置文件(WebConfig),连接数据库字符串是否有错。2、检查一下你的数据库的端口是否连接正常。你可以在“运行”里面进入cmd监听一下你本机的1433(注:1433端口为sql server的端口)端口,监听命令为:telnet 127.0.0.1 1433 回车以后,如果窗口中什么都没有出现,那证明连接正常,如果...

asp.net core 8.0 链接mysql数据库报错的问题
解决方法是在nuget中选择预览版,安装8.0.0-beta.2版本,之后操作顺利进行。总结兼容性版本如下:MySQLConnector,EF Core,.NET (Core),.NET Standard和.NET Framework。

我在做ASP.NET复习题时,附加数据库时提示 如下,怎么解决,谢谢
你看你的用户名和密码是否正确,如果正确的话,你看下是不是登录时默认的数据库不存在,如果是默认的数据库不存在,你重新默认个系统的,然后重启下服务器!

asp.net 连接Oracle数据库时,用户修改异常是怎么回事?
造成错误的原因有以下几种:1、在sql语句中少了‘,’分隔符。2、在绑定变量时,出现变量名和SQL保留字相同的情况。解决方法:一般出现这种问题,都是由于SQL语句写得有问题,先要确认你的SQL语句没有漏掉“,”,然后是检查你的SQL语句中有没有SQL的保留字,最后检查你的函数写的是否正确。

...ASP.net网站,但是测试时出现数据库连接不上,错误提示如下: 怎么解决...
1。看一下“数据库链接字符串出问题了”,web.config文件 2。看一下你IIS支持的虚拟目录中。net framework的版本是否比你的网站本身版本高

为什么在. net环境中运行ASP. NET应用程序时出现错?
一、很可能的原因就是:你的应用程序出现了异常,而.net没有或者无法捕捉该异常,所以导致出现如下情况:1、双击可执行程序,没有反应。2、此时去任务管理器中会看到一个DW20.exe的进程,不久会自动消失。3、到事件查看器里面会发现类似EventType clr20r3 P1...P2...PN的错误提示。二、解决方案:...

ASP.NET 连接数据库怎么出现了这种错误 在与 SQL Server 建立连接时...
如果是sql2008 要先开启 sql的远程连接,重试,如果还不行请检查连接字符串 如果是sql2000 请检查 连接字符串 最好把连接字符串发上来让大家看看

利用VS2010 建立ASP.NET应用程序 连接数据库时发生错误
其实你的错误 已经很明白的告诉你了 附加自动命名的数据库,但失败。已存在同名的数据库,或指定的文件无法打开或位于 UNC 共享目录中 仔细检查一下拉

ASP.NET 访问数据库特别频繁的时候,504 gateway time-out.超时错误。数...
要解决该问题首先你要把IIS请求超时的时间设长一点。再者,请求数据库的次数不宜过多。

相似回答