sql >> Base de Datos >  >> RDS >> Access

Evitar errores de discrepancia de arquitectura al usar Microsoft Access

De vez en cuando, nuestros clientes nos preguntan cuáles son sus opciones cuando su intento de utilizar una base de datos de Access como back-end de su aplicación falla con:

[Microsoft][ODBC Driver Manager]The specified DSN contains an architecture mismatch between the Driver and Application

La causa del problema es que la arquitectura del controlador utilizado para conectarse a Access es diferente a la de su aplicación, es decir, están intentando utilizar un controlador de Access de 64 bits con una aplicación de 32 bits. Terminan en esta situación porque las versiones recientes de Access usan el formato ACCDB para sus archivos de base de datos y el controlador de Access para archivos ACCDB es solo de 64 bits.

(El controlador en cuestión es un controlador ODBC para Access. ODBC es una tecnología de acceso a datos que permite que las aplicaciones se conecten a cualquier base de datos para la que esté disponible un controlador ODBC).

Dada esta situación, las siguientes soluciones están disponibles:

  • Use una base de datos de Access en formato MDB en su lugar, que, en Microsoft Access, está etiquetada como Bases de datos de Microsoft Access (formato 2002-2003) en el cuadro de diálogo Archivo Nueva base de datos.

    Windows incluye un controlador ODBC de Access de 32 bits, que es compatible con archivos MDB (pero no con archivos ACCDB). Deberá configurar una fuente de datos de Access en la versión de 32 bits del Administrador ODBC para usar este controlador. Para ejecutar la versión de 32 bits del Administrador ODBC, en el cuadro de diálogo Ejecutar de Windows, escriba:

    %windir%\syswow64\odbcad32.exe
    

    Sin embargo, debe verificar si necesita alguna de las funciones adicionales de Access que brindan los archivos ACCDB antes de comprometerse con esta solución alternativa.

  • Instale AccessDatabaseEngine de Microsoft. Esto proporciona un controlador ODBC de Access de 32 bits que admite archivos de base de datos en formato ACCDB. Sin embargo, Windows 8 y versiones posteriores no figuran como sistemas operativos compatibles con AccessDatabaseEngine.
  • Utilice Easysoft ODBC-ODBC Bridge, que permite que una aplicación de 32 bits utilice un controlador ODBC de 64 bits (y viceversa).