Cómo solucionar “La propiedad ConnectionString no se ha inicializado”

Cuando inicio mi aplicación obtengo: La propiedad ConnectionString no se ha inicializado.

Web.config:

   

La stack es:

 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 

Soy bastante nuevo en .NET y no obtengo este. Encontré muchas respuestas en Google, pero ninguna realmente solucionó mi problema.

Qué significa eso? ¿Es mi web.config malo? ¿Mi función es mala? ¿Mi configuración de SQL no funciona correctamente (estoy usando sqlexpress)?

Mi principal problema aquí es que no estoy seguro de por dónde empezar a depurar esto … cualquier cosa ayudaría.

EDITAR:

Código de Failling:

 MySQLHelper.ExecuteNonQuery( ConfigurationManager.AppSettings["ConnectionString"], CommandType.Text, sqlQuery, sqlParams); 

sqlQuery es una consulta como “seleccionar * de la tabla”. sqlParams no es relevante aquí.

El otro problema aquí es que mi empresa usa MySQLHelper, y no tengo visibilidad sobre él (solo tengo un dll para una librería auxiliar). Ha funcionado bien en otros proyectos, así que estoy 99% de que el error no viene de aquí.

Supongo que si no hay forma de depurarlo sin ver el código, tendré que esperar para ponerme en contacto con la persona que creó este helper para obtener el código.

La referencia a la cadena de conexión se debe hacer como tal:

 MySQLHelper.ExecuteNonQuery( ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString, CommandType.Text, sqlQuery, sqlParams); 

ConfigurationManager.AppSettings["ConnectionString"] estaría buscando en AppSettings algo llamado ConnectionString , que no encontraría. Es por esto que su mensaje de error indicó que la "ConnectionString" property has not been initialized , porque está buscando una propiedad inicializada de AppSettings llamada ConnectionString .

ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString indica que busque la cadena de conexión llamada “MyDB”.

Aquí hay alguien hablando sobre el uso de las cadenas de conexión web.config

Obtiene este error cuando un origen de datos intenta vincularse a datos pero no puede porque no puede encontrar la cadena de conexión. En mi experiencia, esto no suele deberse a un error en el web.config (aunque no estoy 100% seguro de esto).

Si está asignando por progtwigción una fuente de datos (como un SqlDataSource) o creando una consulta (es decir, utilizando una combinación SqlConnection / SqlCommand), asegúrese de asignarle una ConnectionString.

 SqlConnection myCon = new SqlConnection(ConfigurationManager.ConnectionStrings[nameOfString].ConnectionString; 

Si está conectando un elemento de datos a un origen de datos (es decir, un GridView o un ComboBox a un SqlDataSource), asegúrese de que el origen de datos esté asignado a una de sus cadenas de conexión.

Publique su código (para el elemento de datos y el web.config para estar seguro) y podemos echarle un vistazo.

EDITAR: Creo que el problema es que está tratando de obtener la Cadena de conexión del área AppSettings, y programáticamente no está donde existe. Intente reemplazarlo con ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString (si ConnectionString es el nombre de su cadena de conexión).

La cadena de conexión no está en AppSettings .

Lo que estás buscando está en:

 System.Configuration.ConfigurationManager.ConnectionStrings["MyDB"]... 

Utilice [] en lugar de () como en el ejemplo siguiente.

 SqlDataAdapter adapter = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["FADB_ConnectionString"].ConnectionString); DataTable data = new DataTable(); DataSet ds = new DataSet();