ConnectionString 属性尚未初始化错误

Posted

技术标签:

【中文标题】ConnectionString 属性尚未初始化错误【英文标题】:The ConnectionString property has not been initialized error 【发布时间】:2013-10-21 18:22:12 【问题描述】:

我正在使用带有 mysql DB 的 asp.net Web 应用程序,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 属性尚未初始化。一个未处理的 当前网页执行过程中产生异常 要求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪是:

[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。 我真的需要一些帮助,我的连接字符串有什么问题吗?

【问题讨论】:

尝试更改为 System.configuration.configurationmanagement.connectionstrings["techConnectionString"].connectionstring; 另外,请确保 social.msdn.microsoft.com/Forums/en-US/… 【参考方案1】:

问题不在于连接字符串,而在于 c# 代码试图从 web.config 文件中访问它。

我正在尝试使用:

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

但我需要使用:

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

【讨论】:

啊。没有人抓住它!你应该接受你自己的答案。【参考方案2】:

改变连接字符串为

 <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;

【讨论】:

以上是关于ConnectionString 属性尚未初始化错误的主要内容,如果未能解决你的问题,请参考以下文章

ConnectionString 属性尚未初始化

ConnectionString 属性尚未初始化错误

如何修复“ConnectionString 属性尚未初始化”

ConnectionString属性尚未初始化

错误 - 连接字符串属性尚未初始化(C# 数据库)?

尝试使用Microsoft Access更新DataGridView时出错