viernes, 15 de abril de 2011

El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local

Tengo una aplicación que lee datos de un Excel y me sucedió el siguiente error:

Se detectó System.InvalidOperationException
  Message=El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local.
  Source=System.Data

Entre paréntesis, mi cadena de conexión a Excel es:

Code Snippet
  1. <add name="AserewareExcelDataSource" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=FileName.xlsx;Persist Security Info=False;Extended Properties=&quot;Excel 12.0 Xml;HDR=YES;IMEX=1&quot;" providerName="System.Data.OleDb" />

Bueno después de buscar y encontrar este link, donde al parecer no existe un driver adecuado hice lo siguiente.

Mi máquina es de 64bits y tenía esto en el destino de la plataforma, lo que difiere de lo comentado el vínculo de referencia:

image

Lo cambié a “Any CPU” o bien “x64”:

image

Y listo,… funcionando perfectamente.

Imagino que instalé la versión de 64 bit del driver..que ya está.

4 comentarios:

  1. Entiendo los pasos perfectamente, sin embargo cuando doy propiedades y en Build, no me salen las opciones de platform target, asi que ni siquiera puedo seleccionar 32x o any cpu barbie_angie@hotmail.com
    gracias

    ResponderEliminar
  2. A mi me vino perfecto, excelente publicación, y muy pertinentes las capturas de pantalla me permitió resolver mi problema en menos de 1 minuto. Gracias

    ResponderEliminar
  3. Tengo exactamente el mismo problema pero no entiendo como llegaste a esa pantalla para configurar el destino de la plataforma. Estoy trabajando con windows 8, y tengo instalado office 2010 x64

    ResponderEliminar
    Respuestas
    1. Hola Acero43, la pantalla está en las propiedades del proyecto de Visual Studio, en la opción de Generar. Es decir debes tener los fuentes del proyecto o producto para poder compilarlo con el destino correcto, o bien desinstalar los drivers de la versión de 32bit y colocar la de 64bit (que ya está disponible) pero a sabiendas de que sólo funciona para los componentes o productos que fueron compilados para los destinos correspondientes.

      Eliminar

Gracias de antemano por sus comentarios.