2012-03-29 95 views
26

¿Por qué me aparece "No se puede encontrar el Proveedor de datos de .Net Framework" cuando intento configurar un nuevo origen de datos en Visual Studio 2010 Professional?No se puede encontrar el Proveedor de datos .Net Framework solicitado en Visual Studio 2010 Professional

Mis estadísticas:

  • Windows 7 de 64 bits 16gig RAM
  • Visual Studio 2010 Professional
  • SQL Server 2008 (servidor A, plenos derechos de administrador)
  • Server 2008 (servidor B de SQL, llenos derechos de administrador)

He comenzado una prueba de la aplicación ASP.NET y cuando trato de agregar una nueva fuente de datos, obtengo:

No se pudo encontrar el proveedor de datos de .Net Framework solicitado. No puede ser instalado.

Tengo .NET 4 instalado.

Cuando construyo la conexión y hago clic en "Probar conexión", prueba con éxito. SQL Server Management Studio se conecta muy bien y he verificado las credenciales de todo.

Respuesta

52

He visto informes de personas que tienen un nodo de terminación propia y adicional en el archivo machine.config. Eliminarlo resolvió su problema. machine.config se encuentra en \Windows\Microsoft.net\Framework\vXXXX\Config. Podría tener una multitud de archivos de configuración basados ​​en cuántas versiones del marco están instaladas, incluidas las de 32 y 64 bits.

<system.data> 
    <DbProviderFactories> 
     <add name="Odbc Data Provider" invariant="System.Data.Odbc" ... /> 
     <add name="OleDb Data Provider" invariant="System.Data.OleDb" ... /> 
     <add name="OracleClient Data Provider" invariant="System.Data ... /> 
     <add name="SqlClient Data Provider" invariant="System.Data ... /> 
     <add name="IBM DB2 for i .NET Provider" invariant="IBM.Data ... /> 
     <add name="Microsoft SQL Server Compact Data Provider" ... />  
    </DbProviderFactories> 

    <DbProviderFactories/> //remove this one! 
</system.data> 
+2

THAT WORKED !!!!!! ¡¡Gracias!!De hecho, lo vi antes, pero no se me ocurrió eliminar esa copia 'remove this one!'. Además, tengo cuatro archivos machine.config. Uno en la versión 2 y la versión 4 para 32 y 64 bits. Tuve que cambiar los cuatro. ¡Muchas gracias! +100000 – cbmeeks

+3

Nota sobre mi solución - aunque mi máquina es de 64 bits con .NET framework 4 -> fue la eliminación de las referencias IBM.Data.DB2 ... en machine.config en .NET 2 que corrigió el error con SQL Server Mgmt Studio –

+0

Intenté esta solución y ahora VS2015 se cierra en la pantalla de inicio y no se iniciarán las aplicaciones escritas en .Net4.0. ¿Algunas ideas? – Noobie3001

2

En mi caso la entrada Proveedor de datos de MySQL fue "simplemente" falta en el archivo machine.config descrito anteriormente (aunque había instalado el conector de MySQL correctamente)

<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 

No se olvide para poner la versión correcta de su MySQL en la entrada

+0

En mi caso, esta fila faltaba, y la reinstalación de MySQL .Net Connector realmente me agregó la fila que faltaba ... :-). PD. Estoy usando [este enlace] (http://mirrors.dotsrc.org/mysql/Downloads/Connector-Net/) (no es necesario registrarse) – itsho

9

Me gustan las otras sugerencias, pero preferiría no actualizar machine.config para una sola aplicación. Sugiero que simplemente lo agregue a web.config/app.config. Esto es lo que necesitaba para usar MySql Connector/NET que implementé "bin".

<system.data> 
    <DbProviderFactories > 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 
+1

Hay tipos de proyectos que no tienen 'web.config'. – ajeh

+3

También vale la pena señalar que si hay instalada una versión diferente de un proveedor * en la máquina, deberá agregar un '' al fragmento de arriba. –

1

Tuve este problema con la versión 6.7.4 y lo resolví instalando la versión 6.5.6.

Mi configuración es Win 2008 R2 SP1 Data Center edition, SQL Server 2008 R2 con Business Intelligence Development Studio (VS2008). Instalación muy básica.

Cuando estaba instalando 6.7.4, ni siquiera podía ver el proveedor de MySQL como una opción. Sin embargo, cuando busqué en el archivo machine.config, vi referencias para el proveedor de roles MySQL, etc., pero no se agregó ninguna entrada en el.

+1

Este también fue mi problema y se resolvió instalando "MySQL para la integración de Visual Studio" como se indica aquí: http://dev.mysql.com/downloads/connector/net/ No estoy del todo seguro de qué lo es, pero lo eliminaron del paquete conector donde estaba anteriormente. – splitfeed

0

Pensé que mi problema se debía a mi machine.config por las respuestas que encontré en línea, pero el culpable resultó ser en el web.config del proyecto que estaba borrando los DbProviderFactories.

<system.data> 
    <DbProviderFactories> 
    <clear /> 
     ... 
    </DbProviderFactories> 
</system.data> 
Cuestiones relacionadas