我从一个 friend 那里继承了一个网站来托管,因为他与当前为他托管该网站的人闹翻了。
它是一个旧站点,从外观上看是 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"/>
但随后它会出现各种错误。
谁能帮我把这个网站恢复在线?
提前致谢
最佳答案
您的连接字符串为空,您将连接从 SQLClient 重命名为 MSSQL。
使用 SSMS 检查
Data Source=<sqlservername>;Initial Catalog=<database>;Integrated Security=True
...其中
关于c# - ConnectionString 属性尚未初始化 IIS 8.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53838287/