When I start my application I get: The ConnectionString property has not been initialized.
<connectionStrings> <add name="MyDB" connectionString="Data Source=localhost\sqlexpress;Initial Catalog=mydatabase;User Id=myuser;Password=mypassword;" /> </connectionStrings>
The stack being:
System.Data.SqlClient.SqlConnection.PermissionDemand() +4876643 System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection) +20 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117 System.Data.SqlClient.SqlConnection.Open() +122
I'm fairly new to .NET and I don't get this one. I found a lot of answers on Google, but none really fixed my issue.
What does that mean? Is my web.config bad? Is my function bad? Is my SQL configuration not working correctly (I'm using sqlexpress)?
My main problem here is that I'm not sure where to start to debug this... anything would help.
MySQLHelper.ExecuteNonQuery( ConfigurationManager.AppSettings["ConnectionString"], CommandType.Text, sqlQuery, sqlParams);
sqlQuery is a query like "select * from table". sqlParams is not relevant here.
The other problem here is that my company uses MySQLHelper, and I have no visibility over it (only have a dll for a helper lib). It has been working fine in other projects, so I'm 99% that the error doesn't come from here.
I guess if there's no way of debuging it without seeing the code I'll have to wait to get in touch with the person who created this helper in order to get the code.
This question is related to
Referencing the connection string should be done as such:
MySQLHelper.ExecuteNonQuery( ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString, CommandType.Text, sqlQuery, sqlParams);
ConfigurationManager.AppSettings["ConnectionString"] would be looking in the
AppSettings for something named
ConnectionString, which it would not find. This is why your error message indicated the
"ConnectionString" property has not been initialized, because it is looking for an initialized property of
ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString instructs to look for the connection string named "MyDB".
Here is someone talking about using web.config connection strings