簡體   English   中英

ConnectionString屬性尚未初始化錯誤

[英]The ConnectionString property has not been initialized error

我正在使用帶有MySql DB的asp.net Web應用程序,並使用以下connetcion字符串web.config:

<add name="techConnectionString" connectionString="server=vm-tmysql01;User Id=user;database=tech;password=pass" providerName="MySql.Data.MySqlClient"/>

這是我使用的從web.config獲取連接字符串的代碼:

System.configuration.configurationmanaget.connectionstrings["techConnectionString"].connectionstring;

由於某種原因,我得到了錯誤:

ConnectionString屬性尚未初始化。 當前Web請求的執行期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來標識有關異常的來源和位置的信息。

堆棧跟蹤為:

[InvalidOperationException: The ConnectionString property has not been initialized.]
   System.Data.SqlClient.SqlConnection.PermissionDemand() +6316916
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6296606
   System.Data.SqlClient.SqlConnection.Open() +300

我可以通過Visual Studio中的數據源連接到數據庫,並從那里獲取ConnectionString。 我真的需要一些幫助,我的連接字符串有問題嗎?

問題不在於連接字符串,而是與試圖從web.config文件訪問它的C#代碼有關。

我正在嘗試使用:

System.Configuration.ConfigurationManager.ConnectionStrings["techConnectionString"].ConnectionString;

但是我需要使用:

System.Web.Configuration.WebConfigurationManager.ConnectionStrings["techConnectionString"].ConnectionString;

將連接字符串更改為

 <connectionStrings>
    <add name="techConnectionString" connectionString="SERVER=vm-tmysql01; DATABASE=tech; UID=user; 
PASSWORD=pass" providerName="MySql.Data.MySqlClient"/>
 </connectionStrings>

並且您可以使用System.Configuration獲得連接(您需要添加對System.Configuration引用)

var constring =ConfigurationManager.ConnectionStrings["techConnectionString"].ConnectionString;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM