[英]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.