martes, 10 de septiembre de 2013

Error: El Proveedor 'Microsoft.ACE.OLEDB.12.0' no está Registrado en del el equipo local.


Hace unos años atrás, antes de que Microsoft Office 2010, la vida era un poco más fácil para los desarrolladores:  sin embargo Office es de 32 bits, y punto, no  hay mas. 

Como saben ha sido un poco más complicado ya que con Microsoft Office 2010, los usuarios también pueden instalar una versión nativa de 64 bits de Office también.

Esto significa para nosotros que nuestros desarrollados de aplicaciones de 32 bits que utilizan un proveedor OLEDB para acceder a archivos de Excel o Access pueden no funcionar más ya que el proveedor de 32 bits no puede existir en una instalación de 64 bits de Office 2010.

En estos casos, a pesar de que el usuario tiene una instalación válida de Microsoft Office 2010 instalado en su máquina, su aplicación podría obtener un error como:
 El Proveedor 'Microsoft.ACE.OLEDB.12.0' no está Registrado en del el equipo local.

Bueno, para hacer frente a estos problemas Microsoft lanzó un instalador llamado "Microsoft Access Database Engine 2010 Redistributable". Este redistribuible proporciona una de 32 bits o una versión de 64 bits del proveedor de Microsoft OLEDB ACE que se puede descargar quí:


Posterior mente nos vamos a nuestro proyecto propiedades -> compile -> Advanced compile options -> TARGET CPU:  x86

Y con  eso debe funcionar nuestra aplicación. 

10 comentarios:

tecnicoPA dijo...

Pero aquí no estás indicando la versión para 64bits, el compilador debe decir Taget=x64

tecnicoPA dijo...

por cierto en tu comentario pones: "Microsoft Access Database Engine 2010 Redistributable" y el link que posteas te lleva a descargar el Engine 2007

Pepe Hernandez dijo...

Instale el paquete que mencionas, pero al querer correr mi aplicacion no me lo permite, me sale una ventana de error, pero no me dice en donde esta el error. Si desinstalo el access data base engine mi aplicacion corre normal.

Pato dijo...

Muchas gracias por el post, yo trabajo con Visual Studio 2012 y Acces 2013 con Windows de 64 bits, instale el paquete y ademas cambie la configuracion de compilacion de mi visual studio y el programa corrio sin problemas, Nuevamente Muchas Gracias

Nilton Malpartida Gutiérrez dijo...

Gracias, solucionaste mi problema

Unknown dijo...

Hola instale todo "AccessDatabaseEngine" modifique la aplicacion a x86 lo publique
y salio el siguiente error

Could not load file or assembly 'AppConsultaClientes' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Por favor su ayuda.

NITEMAN dijo...

Hay que tener en cuenta que si habían publicado una versión en x64 y ahora lo publican en x86 les va a salir un error. Primero deberan desintalar la versión anterior, borrar archivos temporales (si los hay) y descargar la nueva versión con target x86

Juan PC dijo...

Yo trabajo con VS 2012 y sin Office (la base de datos me la dan hecha). He seguido los pasos que indicas y me ha funcionado.
Gracias por tu post.

Unknown dijo...

funcionó perfecto con visual 2010 y windows 10 de 64bits

64cegarcia dijo...

Hola, yo tengo Visual Studio 2015 (trabajo con Visual Basic .NEt) y la base de datos en Microsoft Office Professional Plus 2013 y no me trabaja la aplicación, siempre sale el error:
el proveedor microsoft ace oledb 12.0 no está registrado en el equipo local.

He instalado lo que comentas pero no es posible siempre el mismo error.

Gracias