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:
Pero aquí no estás indicando la versión para 64bits, el compilador debe decir Taget=x64
por cierto en tu comentario pones: "Microsoft Access Database Engine 2010 Redistributable" y el link que posteas te lleva a descargar el Engine 2007
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.
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
Gracias, solucionaste mi problema
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.
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
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.
funcionó perfecto con visual 2010 y windows 10 de 64bits
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
Publicar un comentario