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

Bueno, todo empezó debido a que enlazaba un datagridview de windows forms, a un orígen de datos de una base de datos acces, sin embargo, parecía como que si las tablas estuvieran vacías:

image

Ante tal fenómeno que no lograba resolver, decidí hacerlo a través de código puro y duro, sin embargo, cuando trataba de ejecutar la aplicación me aparecía el siguiente mensaje:

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

Solución:

Buscando entre varios foros, logré descubrir que esto se debe a que no existen drivers de office 2007 para la plataforma de 64-bits, para lo cual, debes cambiar las opciones de compilación en las propiedades del proyecto:

image

Espero que a más de 1 le ahorre tiempo.

Salu2

Héctor Uriel Pérez Rojas

73 comentarios sobre “El proveedor ‘Microsoft.ACE.OLEDB.12.0’ no está registrado en el equipo local.

  1. Que bárbaro.. me has ahorrado mucho tiempo… Ya llevaba días que no hallaba por donde…

    Saludos y gracias

    Federico
    Chihuahua, Chih.
    México

  2. Hola:
    Yo ya hice ese cambio y sigue sin funcionarme. Estoy empezando a desesperarme.
    Ya puse que la consola de destino fuera en x86, que mas puede pasar?

    1. Muchas Gracias Irene, me funcionó perfectamente con VS 2008, me ahorraste basteante tiempo de búsqueda.

      Gracias nuevamente!

    2. Pero instalaste este paquete y seguistes con la configuración normal (de 64bits) o instalaste el paquete y cambiaste la configuración a 32 bits (x86)??

      Mi intención, es ejecutar un DTS en una máquina de 64 bits, con SQL Server 2008 de 64 bits y tengo instalado Office 2010 de 64 bits. Aún así, cuando en el origen de datos pongo que es un excel (ya sea de 2003 o de 2007) me da un error de que no está registrado el proveedor o algo parecido (si depuro en modo de 64bits x64). Cuando cambio la configuación del proyecto, igual que como se hace aquí mismo porque se utiliza Visual Studio para Integration Services, pues si me funciona sin problemas.

      Pero el caso es que quiero que todo, y cuando digo todo es que también se utilicen los proveedores, en 64 bits.

      A ver si alguien me puede ayudar.

      He instalado tanto el paquete que comenta la compañera Irene como otro paquete parecido que hay para 2010.

      Muchas gracias.

  3. Que fastidio !!!. Gracias a ti amigo. yo tambien pude. Oye, podrías facilitarme donde descubriste lo de la falta de proveedores para 64 bits ?

  4. Ojo, lo del fastidio es que uno tiene que ir a extremos casi sin sospecharlo, para hay las soluciones a estos asuntos. Gracias.

  5. Tuve el mismo error pero desde Visual 2010, busque la opción que no es la misma pantalla pero si es parecida, y con esa opcion no funciono, lo raro era que ya estaba en x86, entonces mas bien la puse en AnyCPU y funciono de la ptm. Mi maquina tb es de 64bits asi que la otra opción ni de vainas. Espero tb le sirva a alguien. Ah buen post, gracias.

  6. amigo ya verifique la solucion, pero lo que pasa es que en mi maquina si funciona muy bien mi aplicacion pero al momento de ejecutarlo en otro equipo no funciona, no si sera por que no tiene visual studioo sera por lo de la version del office, saludos, gran aporte amigo

  7. Perdón por reabrir el post, pero a mi no me funciona, de ninguna manera, por más que lo intento,
    Mi sistema es W7 64Bits con Office 2010 y VS2010, estoy siguiendo los pasos que aquí han dado, y los de otras webs pero me sigue dando el mismo error.
    Algún alma caritativa puede ayudarme.
    Gracias

  8. Hector un favor mira tengo este problema hice todo lo que dijiste, instale access database engine x64, cambie la compilacion a plataforma x86 y nada aun asi me da el error win7 64 bits, access 2013 y el error El proveedor ‘Microsoft.ACE.OLEDB.12.0′ no está registrado en el equipo local. una ayudita por favor mi correo es chuckyjames@hotmail.com

Replica a hectorperez Cancelar la respuesta