El proveedor Microsoft.ACE.OLEDB.12.0' no está registrado en la máquina local

Estoy tratando de obtener datos de un archivo de Excel en un evento de clic de botón. Mi cadena de conexión es:

 string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\source\\SiteCore65\\Individual-Data.xls;Extended Properties=Excel 8.0;";

Cuando hago clic en el botón, tengo el siguiente error:

El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en la máquina local.

No tengo ni idea de cómo solucionar esto. Mi sistema operativo es Windows 7.

Solución

Una versión de 64 bits del 'Microsoft Access Database Engine 2010 Redistributable' que le permitirá utilizar el 'Microsoft.ACE.OLEDB.12.0' proveedor está disponible aquí:
http://www.microsoft.com/en-us/download/details.aspx?id=13255

Si utilizas la descarga de la respuesta aceptada, tendrás que compilar para x86, como señala @backtestbroker.com.

Comentarios (8)

Tengo este error/excepción en Visual Studio 2010 cuando cambié mi construcción en el cuadro de diálogo del Administrador de Configuración de "x86" a "Cualquier CPU". Este controlador de base de datos OLEDB entiendo que sólo funciona en x86 y no es compatible con 64 bits. Cambiando la configuración de la compilación de nuevo a x86 se resolvió el problema para mí.

Comentarios (2)