问题描述
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.SqlClient.SqlException:在建立与服务器的连接时出错。在连接到SQLServer2005时,在默认的设置下SQLServer不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40-无法打开到SQLServer的连接)源错误:行23:{行24:SqlConnectioncon=DB.createConnection();行25:con.Open();行26:SqlCommandcmd=newSqlCommand("select*fromProvince",con);行27:SqlDataReadersdr=cmd.ExecuteReader();源文件:d:51622439CityBusSystem公交查询系统bus.aspx.cs行:25堆栈跟踪:[SqlException(0x80131904):在建立与服务器的连接时出错。在连接到SQLServer2005时,在默认的设置下SQLServer不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40-无法打开到SQLServer的连接)]System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,BooleanbreakConnection)+739123System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObjectstateObj)+188System.Data.SqlClient.TdsParser.Connect(ServerInfoserverInfo,SqlInternalConnectionTdsconnHandler,BooleanignoreSniOpenTimeout,Int64timerExpire,Booleanencrypt,BooleantrustServerCert,BooleanintegratedSecurity,SqlConnectionowningObject)+685966System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfoserverInfo,StringnewPassword,BooleanignoreSniOpenTimeout,Int64timerExpire,SqlConnectionowningObject)+109System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(Stringhost,StringnewPassword,BooleanredirectedUserInstance,SqlConnectionowningObject,SqlConnectionStringconnectionOptions,Int64timerStart)+349System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnectionowningObject,SqlConnectionStringconnectionOptions,StringnewPassword,BooleanredirectedUserInstance)+181System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentityidentity,SqlConnectionStringconnectionOptions,ObjectproviderInfo,StringnewPassword,SqlConnectionowningObject,BooleanredirectedUserInstance)+170System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptionsoptions,ObjectpoolGroupProviderInfo,DbConnectionPoolpool,DbConnectionowningConnection)+359System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionowningConnection,DbConnectionPoolpool,DbConnectionOptionsoptions)+28System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionowningObject)+424System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionowningObject)+66System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnectionowningObject)+496System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnectionowningConnection)+82System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory)+105System.Data.SqlClient.SqlConnection.Open()+111城市公交查询系统.bus.Page_Load(Objectsender,EventArgse)ind:51622439CityBusSystem公交查询系统bus.aspx.cs:25System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtrfp,Objecto,Objectt,EventArgse)+15System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Objectsender,EventArgse)+34System.Web.UI.Control.OnLoad(EventArgse)+99System.Web.UI.Control.LoadRecursive()+47System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+1061
解决方案
解决方案二:
将数据库的身份模式改成混合登录模式,如果是sqlexpress,再将“服务和连接的外围应用配置器”里面的远程连接改成“同时使用TCP/IP和namedpipes”
解决方案三:
这个就要看你的数据服务器的设置了没使用过sql2005
解决方案四:
sqlserver的配置问题
解决方案五:
sqlserver配置问题
解决方案六:
你要连接本地的SQL服务器,还是外网的?如果连接外网就要到SQL配置工具里的外围配置器里面设置一下1.点击进入服务和连接的外围配置器2.进入后,选择“远程连接”,选中“本地连接和远程连接”,“同时使用TCP/IP和namedpipes”3.在重新MSSQLSEVER服务
解决方案七:
这些都改了。如果链接本地的服务器怎么改?
解决方案八:
引用1楼wknight_IT的回复:
将数据库的身份模式改成混合登录模式,如果是sqlexpress,再将“服务和连接的外围应用配置器”里面的远程连接改成“同时使用TCP/IP和namedpipes”
正解本地的和这个一样就可以了
解决方案九:
引用5楼wmjpkn的回复:
你要连接本地的SQL服务器,还是外网的?如果连接外网就要到SQL配置工具里的外围配置器里面设置一下1.点击进入服务和连接的外围配置器2.进入后,选择“远程连接”,选中“本地连接和远程连接”,“同时使用TCP/IP和namedpipes”3.在重新MSSQLSEVER服务
如果两种不同版本数据库,查询分析器登录时会显示数据库名称。将连接字符串中的database或datasource改成想连的就成了。
解决方案十:
连接字符串错误
解决方案十一:
请参考: