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.
Pues tienes que instalarlo. Usted' está buscando:
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.
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í.