我从一个朋友那里继承了一个网站来主持,因为他和现在为他主持这个网站的人闹翻了。
这是一个老网站,被托管是由looks of things托管的IIS7,我无法将其放到网上。
即时消息在装有IIS的服务器2012r2机器上
基本上,这是我得到的错误:
The ConnectionString property has not been initialized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: The ConnectionString property has not been initialized.
Source Error:
Line 95:
Line 96: conOleDbConnection = New SqlConnection(ConfigurationManager.ConnectionStrings.Item("SQLClient").ConnectionString)
Line 97: conOleDbConnection.Open()
Line 98:
Line 99: dadOleDbDataAdapter = New SqlDataAdapter(strSQL, conOleDbConnection)
Source File: C:\inetpub\wwwroot\abc\App_Code\SqlClient.vb Line: 97
Stack Trace:
[InvalidOperationException: The ConnectionString property has not been initialized.]
System.Data.SqlClient.SqlConnection.PermissionDemand() +7116997
System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) +30
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +312
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +202
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +413
System.Data.SqlClient.SqlConnection.Open() +128
BBS.SqlClient.DataHandler.GetDataTable(String strSQL) in C:\inetpub\wwwroot\abc\App_Code\SqlClient.vb:97
BBS.SqlClient.DataHandler.GetDataRow(String strSQL) in C:\inetpub\wwwroot\abc\App_Code\SqlClient.vb:128
BBS.Sql.AbstractEntity.LoadObjectByCol(String strColumnName, String strColumnValue) in C:\inetpub\wwwroot\abc\App_Code\AbstractEntity.vb:216
_Default.Bind(String strWebPageURL) in C:\inetpub\wwwroot\abc\Default.aspx.vb:9
_Default.Page_Load(Object s, EventArgs e) in C:\inetpub\wwwroot\abc\Default.aspx.vb:30
System.Web.UI.Control.OnLoad(EventArgs e) +106
System.Web.UI.Control.LoadRecursive() +68
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3785
下面是堆栈跟踪文件的相关部分:
SQLCLIENT.VB行97
Public Shared Function GetDataTable(ByVal strSQL As String) As DataTable
Dim conOleDbConnection As SqlConnection
Dim dadOleDbDataAdapter As SqlDataAdapter
Dim dstDataSet As New DataSet
conOleDbConnection = New SqlConnection(ConfigurationManager.ConnectionStrings.Item("SQLClient").ConnectionString)
conOleDbConnection.Open()
dadOleDbDataAdapter = New SqlDataAdapter(strSQL, conOleDbConnection)
dadOleDbDataAdapter.Fill(dstDataSet, "Data")
conOleDbConnection.Close()
conOleDbConnection = Nothing
Return dstDataSet.Tables("Data")
End Function
SQLCLIENT.VB线路128
Public Shared Function GetDataRow(ByVal strSQL As String) As DataRow
Dim dtblGetDataRow As DataTable = GetDataTable(strSQL)
If dtblGetDataRow.Rows.Count = 1 Then Return dtblGetDataRow.Rows(0) Else Return Nothing
End Function
以下是提供的web.config中的连接字符串
<connectionStrings>
<add connectionString="" name="SQLClient" />
</connectionStrings>
我已经将数据库放到了MSSQL服务器上
尝试添加新的连接字符串:
<add name="MSSQL" connectionString="Data Source=abc;Initial Catalog=def Name;User id=geh;Password=ijk;Persist Security Info=true;Pooling=true" providerName="System.Data.SqlClient"/>
但是,它在所有种类的情况下都会出错。
有人能帮我把这个网站恢复在线吗?
提前感谢
发布于 2018-12-19 02:31:55
您添加了一个新的连接字符串,但使用了不同的名称。配置文件中的名称必须与代码正在查找的名称("SQLClient")相匹配。
<connectionStrings>
<add connectionString="you need to put something here" name="SQLClient" />
</connectionStrings>
你可以去掉MSSQL
。从中获取connectionString并将其放入SQLClient条目中。或者将MSSQL重命名为SQLClient并去掉多余的部分。
发布于 2018-12-19 03:16:03
连接字符串为空,已将连接从SQLClient重命名为MSSQL。
使用SSMS检查\$ (您的新IIS计算机名)是否具有登录权限以及数据库的用户映射。还要测试从DEV PC到MSSQL的连接。在VS中,使用服务器资源管理器连接到MSSQL PC和数据库。获取该数据连接的属性。连接字符串可以看起来像...
Data Source=<sqlservername>;Initial Catalog=<database>;Integrated Security=True
...where,是不带引号的PC和数据库的名称。
发布于 2018-12-19 02:18:02
我想知道ConfigurationManager.ConnectionStrings.Item("SQLClient").ConnectionString是否真的返回了什么。通过查看您的代码,SQLClient没有太多内容。它应该看起来像这样。
<connectionStrings>
<add name="SQLClient" connectionString="Data Source=abc;Initial Catalog=def Name;User id=geh;Password=ijk;Persist Security Info=true;Pooling=true" />
</connectionStrings>
我认为如果连接字符串实际上是错误的,你会得到一个不同的错误。
https://stackoverflow.com/questions/53838287
复制相似问题