2011-08-03 72 views
10

No pude entender cuál es el problema para esta excepción.Excepción: escriba inicializador para 'system.data.sqlclient.sqlconnection'?

el inicializador de tipo 'System.Data.SqlClient.SqlConnection' produjo una excepción

Primer intento: yo estaba usando el servicio WCF para hacer un poco pequeña aplicación. Funciona muy bien y puedo usar el LINQ correctamente. Después de 2 o 3 días. Tal vez después de cerrar Visual Studio y cargar el proyecto nuevamente. La excepción aparece.

El segundo intento también es el mismo. Creo otro proyecto y funciona bien hasta que hago otra cosa (no cambio ningún código)

SQL Server funciona bien y puedo conectarme a través de SQL Management Studio sin problema.

Un clic en el error de depuración me llevó a la cadena de conexión del archivo linq.

¿Cuál podría ser el problema? Traté de buscar pero no pude encontrar la respuesta para resolver esto.

Gracias

Respuesta

26

Esto probablemente significa que hay un error en el archivo app.config, por ejemplo, XML mal formado o elementos inesperados. El error ocurre porque los campos estáticos dentro de SqlConnection se leen desde app.config para determinar el nivel de detalle de rastreo como se describe aquí: http://msdn.microsoft.com/en-us/library/ms254503.aspx

+2

en mi caso se me olvidó incluir el etiqueta – tennisBoy

+0

@tennisBoy En mi caso sólo tener contenido vacío para configSections se fastidiando. Por lo tanto, a la aplicación le importa mucho si tiene '' en su archivo app.config. – RBT

1

También me enfrenté a esa excepción una vez cuando reabrí mi proyecto. En mi caso, el archivo de configuración tenía etiquetas y claves vacías, como puede ver a continuación. Eliminé la etiqueta appSettings para solucionar el problema.

<? Xml version = "1.0" encoding = "UTF-8"?>

< de configuración>

< appSettings>

< add key = "" value = "site" />

</appSettings>

< configSections>

</configSections>

</configuration>

1

Comprobar si ha instalado la siguiente revisión de Windows - KB2840628 - para .NET FW 4.0 (use el Panel de control de Windows-> Progr AMS + Características y haga clic en 'Ver actualizaciones instaladas') y si es así tratar de desinstalarlo ...

https://connect.microsoft.com/VisualStudio/feedback/details/793500/sqlclr-typeinitializationexception-in-sqlconnection-since-kb2840628

Se resuelve el problema para mí.

+0

Es KB2840628 que crea problemas si tiene valores personalizados dentro de en el archivo app.config ... –

1

En mi caso, el problema estaba modificando nombre de etiqueta en app.config archivo por error simplemente comparar el archivo app.config con otro viejo .. Va a encontrar el problema ...

0

He leído mucho sobre este tema, pero nadie ha mencionado la siguiente causa de este error.

Algunos de nuestros usuarios, que tenían una versión anterior de VMware View Client que era entonces actualizado, ahora están viendo este tema.

el inicializador de tipo 'System.Data.SqlClient.SqlConnection' produjo una excepción

  • Los usuarios que sólo tenían sólo la versión antigua de VMware View Client instalado no tendrá ningún problema.
  • Los usuarios que solo tenían la nueva versión de VMWare View Client instalada no tienen ningún problema.
  • pero los usuarios que tenían una versión antigua de VMware View Client, pero ahora se han actualizado, tiene un problema, y ​​lo hace continuar incluso si desinstalamos VMware View Client, a continuación, instalar la nueva versión.

Intentamos reinstalar .NET Framework y Visual Studio Tools para Office, pero esto no solucionó nada.

No hemos encontrado una solución todavía, pero espero que esto ayude a otros usuarios.

Por cierto, verificamos nuestros app.config y web.config, y todos están bien (y funcionan perfectamente con el resto de nuestros usuarios).

Otro descubrimiento:

  • Si el usuario tiene derechos de administrador local, este problema no se produce después de actualizar VMware View Client.
  • Si no tienen derechos de administrador local, el problema ocurrirá.

Entonces ... estamos atascados.

Tengo un portátil de prueba, y puedo reproducir el error cada vez que mi ID de usuario no tiene derechos de administrador local. Si otorgamos derechos de administrador local e iniciamos sesión de nuevo, el error desaparece.

Y añadí una carga de de try..catch en mi código, y se encontró que la excepción se produce en esta línea de código:

MikesDataContext dc = new MikesDataContext() 

Por lo tanto, en realidad es hacer la conexión que arroja el excepción. No llega tan lejos como las siguientes líneas de código que usan esta conexión.

1

app.config Eliminar y luego ejecute el programa

Cuestiones relacionadas