读书人

关于数据库连接的有关问题

发布时间: 2012-01-14 20:02:35 作者: rapoo

关于数据库连接的问题
我的网站程序原来是在.NET 2003下开发的,数据库是sql server 2000,我安装.net 2005后,把数据库移植到sql server 2000,修改了相关配置后运行,出现了以下错误,请问怎么解决?
我的连接字符串是: <add key= "strcnn " value= "server=localhost;database=rfdatabase;user id=sa;persist security info=True;password=123 "> </add>
---------------------

“/refsite”应用程序中的服务器错误。
--------------------------------------------

在建立与服务器的连接时出错。在连接到 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 的连接)

源错误:


行 84: if(cnn.State == System.Data.ConnectionState.Closed)
行 85: {
行 86: cnn.Open();
行 87: }
行 88: }


源文件: E:\rfsite\DataBase\Database.cs 行: 86

堆栈跟踪:


[SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +734915
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +820
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +628
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +170
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +359
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66


System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +496
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
rfsite.DataBase.Database.Open() in E:\rfsite\DataBase\Database.cs:86
rfsite.DataBase.Database.CreateCommand(String procName, SqlParameter[] prams) in E:\rfsite\DataBase\Database.cs:60
rfsite.DataBase.Database.RunProc(String procName, SqlDataReader& dataReader) in E:\rfsite\DataBase\Database.cs:55
rfsite.Compents.Normal.SiteSettingShow() in e:\rfsite\compents\normal.cs:2135
rfsite.WebForm1.ShowSiteSetting() in e:\rfsite\index.aspx.cs:167
rfsite.WebForm1.Page_Load(Object sender, EventArgs e) in e:\rfsite\index.aspx.cs:88
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061




--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210

[解决办法]
<add key= "strcnn " value= "server=.;database=rfdatabase;user id=sa;persist security info=True;password=123 "> </add> 改成这样试试

[解决办法]
再不行就是这样 <add key= "strcnn " value= "server=.;database=rfdatabase;uid=sa;persist security info=True;password=123 "> </add> 改成这样试试

你先在界面下面试度看看,用这个配置连接是否成功

[解决办法]
你可以先在.net2005里的资源管理器里边加入sql server2000的连接,然后再建立一个adapter和connection,看看有什么不同
[解决办法]
up
[解决办法]
vs2005中,用connectionstring, <connectionStrings>

<add name= "strCon " connectionString= "server=servername;database=rfdatabase;uid=sa;pwd=123 "
/>

</connectionStrings>

读取时代码:string strconn = System.Configuration.ConfigurationManager.ConnectionStrings[ "strCon "].ConnectionString;
试试看!

读书人网 >asp.net

热点推荐