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

[quads id=1]

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

[quads id=2]

Héctor Uriel Pérez Rojas

103 comentarios en “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

      1. hola hector:

        tengo el mismo problema al instalar un programa de inventarios, leo la solucion que das pero te confieso mi ignorancia en el tema.

        pregunta: endonde tengo que hacer las modificaciones que dices a las propiedades del proyecto, desde donde empiezo explorer ?? por favor necesito tu ayuda, gracias.

  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. 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. Amigo Hector, me has resuelto un problema ya que compré una laptop con un procesador Core i5 y la misma es de 64bits.

    La pregunta es: en el momento de empaquetar el Programa tendrá problemas al correrlo en una maquina de 32 bits?

    Saludos desde Venezuela…

  4. Hola, ami me pasa lo mismo de que los controles me salen en blanco como que no mandar llamar la información desde un archivo access cuando lo corro en otra maquina, en mi maquina donde lo desarrollé si corre perfectamente y cabe mencionar que ya busqué y utilice varias soluciones incluyendo la de este articulo y nada mas no corre…

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

  6. 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.

  7. 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

  8. 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

  9. 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

  10. HECTORPEREZ, si me sirvió, pero a medias. Estoy programando en VB .NET 2012 y en la configuración que mencionas hay un tilde que dice “Prefer 32-bit”. Con ese tilde logre hacer que funcione. Muchas gracias por tu tutorial.

  11. Después de revisar la instalación del motor de acceso a datos resultó que era esta opción de compilación.
    Por cierto, compilado para x86 también funciona en procesador de 64bits.

    Muchas gracias.

  12. Don Héctor, tengo una situación similar y es que estoy descargando un Excel a grid. En mi PC todo sale bien, pero si hago un ejecutable y lo corro en otra PC, no me hace la conexión conn.open(), me manda al mensaje de error que nudo conectarse. Estoy utilizando el OleDb.OleDbConnection. No se que es lo que tiene la otra PC con respecto a mi PC

  13. una pregunta!
    tengo una portátil Toshiba amd a8 satelite con Windows 8.1
    para programar en Android Studio, se requiere activar “tecnologia virtual”, que se encuentra en la Bios
    revise la Bios de este equipo y no encuentro la opciòn de VT Virtual Technoloy
    mi pregunta es;
    ¿Esto se puede solucionar?
    ¿o necesito otra portatil?

  14. Hola Héctor Pérez sabes ya hice todo lo que este post dice y no me soluciona en absoluto uso visual studio 2012 y Access 2010 me deja totalmente en blanco no realiza ni un solo registro ni elimina y a parte me aparece un error que dice REFERENCIA A OBJETO NO ESTABLECIDA COMO INSTANCIA DE UN OBJETO

  15. Lugo de un buen par de horas de investigacion me encontre con tu POST y solo quiero agradecer que aunque es algo tan sencillo no se me ocurrio y gracias a tu POST se soluciono mi problema.

    Muchas gracias!

  16. Pablo Alejandro

    Muchisimas gracias ídolo!!! Me maté buscando hasta que dí con tu post y diste en el clavo!!! Sólo que yo puse “AnyCPU” y funciona a la perfección!!!

  17. 2024 y me sirvió…
    Visual Studio 2010 + Office 20216 + SQL Server 2014
    Tomar un archivo de excel con una lista para actualizar los campos de una tabla…
    Menu Proyecto / Propiedades de (nombre del proyecto)
    Pestaña Build, y en Plataforma destino (Platform Target) seleccione AnyCPU

Deja un comentario

Tu dirección de correo electrónico no será publicada.