none
Windows 8 El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local RRS feed

  • Pregunta

  • Este es un error que ya se me presentó cuando mi laptop tenía Windows 7 y le descargué Access 2010 no recuerdo como lo solucione pero recuerdo descargar un driver (no se donde ni cual) para que funcione como access 2007. Ahora instalo Windows 8 (Cosa que me arrepiento pero no volveré al 7 porque ya perdí toda mi información) con Access 2013 y se me presenta de nuevo el problema mi pregunta es como lo soluciono ahora?

    Saludos.

    lunes, 18 de febrero de 2013 23:59

Respuestas

  • "Allan Alarcón" preguntó:

    > Windows 8 El proveedor 'Microsoft.ACE.OLEDB.12.0' no está
    > registrado en el equipo local
    >
    > Este es un error que ya se me presentó cuando mi laptopç
    > tenía Windows 7 y le descargué Access 2010
    >
    > como lo soluciono ahora?

    Hola:

    Si estamos hablando de que has instalado la versión de 64 bits de dicho sistema operativo, lo puedes solucionar haciendo lo mismo que hicistes cuando utilizabas Windows 7.

    En relación con el asunto de tu mensaje (El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local), ya se ha escrito numerosas veces en éste mismo foro, tal y como puedes comprobar en este pequeño resúmen de enlaces:

    23/09/2011
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/783d7ceb-b44d-45a0-a389-72251332d69a

    04/10/2011
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/3152f888-ead5-433f-abf0-d1a7b4ff0655

    23/01/2012
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/ee7982e5-c6a4-43aa-a23c-cbe3d33dcea4

    19/03/2012
    http://social.msdn.microsoft.com/Forums/es/vbes/thread/c12681e5-c860-4d94-bee1-8181fe28f80f

    21/03/2012
    http://social.msdn.microsoft.com/Forums/es-MX/vbes/thread/58970c8f-81bf-47ae-ac64-d20c2a798333

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Allan Alarcón miércoles, 20 de febrero de 2013 3:49
    martes, 19 de febrero de 2013 7:10
    Moderador
  • "Allan Alarcón" escribió:

    > Es 64 bits... Cuando tenía Windows 7 también era 64 bits y funcionaba
    > con Any CPU, x86 y obvio x64 por eso se me hizo raro que ahora x86
    > ya no me coja.

    Cuando escribes que es "64 bits", me imagino que te referirás a la arquitectura de Access 2013 que tienes instalada en tu equipo Windows 8 de 64 bits, ya que era la pregunta que te formulé anteriormente: la arquitectura de Access 2013.

    Si es así, que yo sepa NO PUEDES compilar una aplicación para plataformas x86 y esperar que funcione sobre la versión de 64 bits de Access 2010 ó 2013, porque para ello tendrías que tener instalada la versión de 32 bits de Access 2010 ó 2013, y las versiones de 32 y 64 bits de Access no son compatibles entre sí.

    Lo mismo te resulta útil el contenido del siguiente artículo, en concreto el apartado Uso de proveedores ACE de 32 bits y 64 bits.

    Programación de datos con Access 2010

    El artículo se basa en Access 2010 pero digamos que se puede aplicar a Access 2013. Copio lo que se indica en el apartado Solución WOW64 (Access de 32 bits, Windows de 64 bits):

    [...] La tecnología de WOW64 permite la ejecución de aplicaciones de 32 bits en plataformas Windows de 64 bits. Es posible instalar Access 2010 de 32 bits en Windows de 64 bits. En ese caso, la aplicación de datos debe ser de 32 bits para poder ponerse en contacto con los proveedores ACE. Se trata de la instalación predeterminada en los sistemas operativos Windows de 64 bits, que permite la compatibilidad con aplicaciones de Office de 32 bits.

    Si bien las aplicaciones de 32 bits se pueden ejecutar de forma transparente, no se admite la combinación de dos tipos de código dentro del mismo proceso. No se puede vincular una aplicación de 64 bits con una biblioteca del sistema (DLL) 32 bits y, de igual forma, no se puede vincular una aplicación de 32 bits con una biblioteca del sistema de 64 bits.

    Importante:

    Si intenta ejecutar el código heredado de 32 bits con Access de 64 bits, obtendrá errores de tiempo de ejecución. Por ejemplo, el error “El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local” podría deberse a una discrepancia de versiones entre la aplicación (código de 32 bits) y uno de los proveedores ACE de 64 bits que se instalaron con Microsoft Access de 64 bits. Para corregir este problema, actualice el código personalizado a la versión de 64 bits, o desinstale Access de 64 bits y reemplácela con Access de 32 bits. [...]

    Es decir, sin en tu sistema operativo Windows 7 o Windows 8 de 64 bits, instalastes la versión de 32 bits de Access 2010 ó 2013, sí puedes desarrollar una aplicación de 32 bits cuya plataforma de destino sea Any CPU o x86. Pero si instalastes la versión de 64 bits de Access 2010 ó 2013, sólo funcionará si la plataforma de destino es Any CPU o x64.

    Si seleccionas Any CPU, tu aplicación funcionará tanto si está instalada la versión de 32 como la de 64 bits de Access 2013, porque la aplicación se amordará al software de Access instalado en el equipo final. Pero si expresamente le has indicado que se compile para plataformas x86 o x64, entonces puede haber problemas si el usuario final de tu aplicación no tiene instalada la versión de Access 2010 ó 2013 compatible con la versión de la plataforma con la que has compilado tu aplicación.

    En resúmen, que salvo que yo esté equivocado, si compilas sobre x86 tiene que estar instalada la versión de 32 bits de Access 2007 o superior. Si compilas sobre x64, tiene que estar instalada la versión de 64 bits de Access 2010 o superior, porque no existe versión de 64 bits de Access 2007.

    Por supuesto, todo esto sucede cuando hagamos uso en nuestra aplicación de Visual Basic, o de cualquier otro lenguaje de programación .NET, del motor de datos Microsoft ACE. Si no es así, en principio no hay que estar pendiente de estos temas.

    Finalizo diciendo que si usamos el motor Microsoft Jet (bases de Access 2003 o inferiores), entonces no nos quedará más remedio que compilar nuestra aplicación para x86. Si compilamos la aplicación para Any CPU corremos el riesgo que el usuario final no pueda ejecutar nuestra aplicación en un sistema operativo de 64 bits, salvo que tenga instalado el motor Microsoft Jet, el cual tiene una arquitectura de 32 bits y entiendo que se ejecutará sobre tecnología de WOW64.


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    viernes, 22 de febrero de 2013 7:21
    Moderador

Todas las respuestas

  • prueba aplciando lo que comento aqui

    [ADO.NET] Ms Access y arquitectura 64bit

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 19 de febrero de 2013 0:20
  • "Allan Alarcón" preguntó:

    > Windows 8 El proveedor 'Microsoft.ACE.OLEDB.12.0' no está
    > registrado en el equipo local
    >
    > Este es un error que ya se me presentó cuando mi laptopç
    > tenía Windows 7 y le descargué Access 2010
    >
    > como lo soluciono ahora?

    Hola:

    Si estamos hablando de que has instalado la versión de 64 bits de dicho sistema operativo, lo puedes solucionar haciendo lo mismo que hicistes cuando utilizabas Windows 7.

    En relación con el asunto de tu mensaje (El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local), ya se ha escrito numerosas veces en éste mismo foro, tal y como puedes comprobar en este pequeño resúmen de enlaces:

    23/09/2011
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/783d7ceb-b44d-45a0-a389-72251332d69a

    04/10/2011
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/3152f888-ead5-433f-abf0-d1a7b4ff0655

    23/01/2012
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/ee7982e5-c6a4-43aa-a23c-cbe3d33dcea4

    19/03/2012
    http://social.msdn.microsoft.com/Forums/es/vbes/thread/c12681e5-c860-4d94-bee1-8181fe28f80f

    21/03/2012
    http://social.msdn.microsoft.com/Forums/es-MX/vbes/thread/58970c8f-81bf-47ae-ac64-d20c2a798333

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Allan Alarcón miércoles, 20 de febrero de 2013 3:49
    martes, 19 de febrero de 2013 7:10
    Moderador
  • Pensé que había alguna por ser Access 2013 o Windows 8 que en esos temas no se nombran. Ya funcionó solo que solo corre con Any CPU no con x86 no se porqué pero bueno.

    Gracias. Saludos.

    miércoles, 20 de febrero de 2013 3:50
  • "Allan Alarcón" escribió:

    > Pensé que había alguna por ser Access 2013 o Windows 8 que
    > en esos temas no se nombran.

    No se nombran porque Access 2013 prácticamente "apareció ayer", y si te fijas bien en las fechas de los enlaces, el último es de Marzo/2012, donde Access 2013 todavía se estaba "cocinando". ;-)

    > Ya funcionó solo que solo corre con Any CPU no
    > con x86 no se porqué pero bueno.

    ¿Qué arquitectura tienes instalada en tu equipo de Access 2013? ¿32 ó 64 bits?


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    miércoles, 20 de febrero de 2013 7:15
    Moderador
  • Es 64 bits... Cuando tenía Windows 7 también era 64 bits y funcionaba con Any CPU, x86 y obvio x64 por eso se me hizo raro que ahora x86 ya no me coja.
    viernes, 22 de febrero de 2013 1:16
  • "Allan Alarcón" escribió:

    > Es 64 bits... Cuando tenía Windows 7 también era 64 bits y funcionaba
    > con Any CPU, x86 y obvio x64 por eso se me hizo raro que ahora x86
    > ya no me coja.

    Cuando escribes que es "64 bits", me imagino que te referirás a la arquitectura de Access 2013 que tienes instalada en tu equipo Windows 8 de 64 bits, ya que era la pregunta que te formulé anteriormente: la arquitectura de Access 2013.

    Si es así, que yo sepa NO PUEDES compilar una aplicación para plataformas x86 y esperar que funcione sobre la versión de 64 bits de Access 2010 ó 2013, porque para ello tendrías que tener instalada la versión de 32 bits de Access 2010 ó 2013, y las versiones de 32 y 64 bits de Access no son compatibles entre sí.

    Lo mismo te resulta útil el contenido del siguiente artículo, en concreto el apartado Uso de proveedores ACE de 32 bits y 64 bits.

    Programación de datos con Access 2010

    El artículo se basa en Access 2010 pero digamos que se puede aplicar a Access 2013. Copio lo que se indica en el apartado Solución WOW64 (Access de 32 bits, Windows de 64 bits):

    [...] La tecnología de WOW64 permite la ejecución de aplicaciones de 32 bits en plataformas Windows de 64 bits. Es posible instalar Access 2010 de 32 bits en Windows de 64 bits. En ese caso, la aplicación de datos debe ser de 32 bits para poder ponerse en contacto con los proveedores ACE. Se trata de la instalación predeterminada en los sistemas operativos Windows de 64 bits, que permite la compatibilidad con aplicaciones de Office de 32 bits.

    Si bien las aplicaciones de 32 bits se pueden ejecutar de forma transparente, no se admite la combinación de dos tipos de código dentro del mismo proceso. No se puede vincular una aplicación de 64 bits con una biblioteca del sistema (DLL) 32 bits y, de igual forma, no se puede vincular una aplicación de 32 bits con una biblioteca del sistema de 64 bits.

    Importante:

    Si intenta ejecutar el código heredado de 32 bits con Access de 64 bits, obtendrá errores de tiempo de ejecución. Por ejemplo, el error “El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local” podría deberse a una discrepancia de versiones entre la aplicación (código de 32 bits) y uno de los proveedores ACE de 64 bits que se instalaron con Microsoft Access de 64 bits. Para corregir este problema, actualice el código personalizado a la versión de 64 bits, o desinstale Access de 64 bits y reemplácela con Access de 32 bits. [...]

    Es decir, sin en tu sistema operativo Windows 7 o Windows 8 de 64 bits, instalastes la versión de 32 bits de Access 2010 ó 2013, sí puedes desarrollar una aplicación de 32 bits cuya plataforma de destino sea Any CPU o x86. Pero si instalastes la versión de 64 bits de Access 2010 ó 2013, sólo funcionará si la plataforma de destino es Any CPU o x64.

    Si seleccionas Any CPU, tu aplicación funcionará tanto si está instalada la versión de 32 como la de 64 bits de Access 2013, porque la aplicación se amordará al software de Access instalado en el equipo final. Pero si expresamente le has indicado que se compile para plataformas x86 o x64, entonces puede haber problemas si el usuario final de tu aplicación no tiene instalada la versión de Access 2010 ó 2013 compatible con la versión de la plataforma con la que has compilado tu aplicación.

    En resúmen, que salvo que yo esté equivocado, si compilas sobre x86 tiene que estar instalada la versión de 32 bits de Access 2007 o superior. Si compilas sobre x64, tiene que estar instalada la versión de 64 bits de Access 2010 o superior, porque no existe versión de 64 bits de Access 2007.

    Por supuesto, todo esto sucede cuando hagamos uso en nuestra aplicación de Visual Basic, o de cualquier otro lenguaje de programación .NET, del motor de datos Microsoft ACE. Si no es así, en principio no hay que estar pendiente de estos temas.

    Finalizo diciendo que si usamos el motor Microsoft Jet (bases de Access 2003 o inferiores), entonces no nos quedará más remedio que compilar nuestra aplicación para x86. Si compilamos la aplicación para Any CPU corremos el riesgo que el usuario final no pueda ejecutar nuestra aplicación en un sistema operativo de 64 bits, salvo que tenga instalado el motor Microsoft Jet, el cual tiene una arquitectura de 32 bits y entiendo que se ejecutará sobre tecnología de WOW64.


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    viernes, 22 de febrero de 2013 7:21
    Moderador