Access
 sql >> Base de données >  >> RDS >> Access

Contournement des erreurs d'incompatibilité d'architecture lors de l'utilisation de Microsoft Access

De temps en temps, nos clients nous demandent quelles sont leurs options lorsque leur tentative d'utiliser une base de données Access comme back-end de leur application échoue avec :

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

La cause du problème est que l'architecture du pilote utilisé pour se connecter à Access est différente de celle de leur application, c'est-à-dire qu'ils tentent d'utiliser un pilote Access 64 bits avec une application 32 bits. Ils se retrouvent dans cette situation car les versions récentes d'Access utilisent le format ACCDB pour leurs fichiers de base de données et le pilote Access pour les fichiers ACCDB est uniquement 64 bits.

(Le pilote en question est un pilote ODBC pour Access. ODBC est une technologie d'accès aux données qui permet aux applications de se connecter à n'importe quelle base de données pour laquelle un pilote ODBC est disponible.)

Compte tenu de cette situation, les solutions de contournement suivantes sont disponibles :

  • Utilisez plutôt une base de données Access au format MDB, qui, dans Microsoft Access, est intitulée Bases de données Microsoft Access (format 2002-2003) dans la boîte de dialogue Fichier Nouvelle base de données.

    Windows inclut un pilote ODBC Access 32 bits, qui est compatible avec les fichiers MDB (mais pas les fichiers ACCDB.) Vous devrez configurer une source de données Access dans la version 32 bits de l'administrateur ODBC pour utiliser ce pilote. Pour exécuter la version 32 bits de l'administrateur ODBC, dans la boîte de dialogue Exécuter de Windows, tapez :

    %windir%\syswow64\odbcad32.exe
    

    Cependant, vous devez vérifier si vous avez besoin de l'une des fonctionnalités d'accès supplémentaires fournies par les fichiers ACCDB avant de vous engager dans cette solution de contournement.

  • Installez AccessDatabaseEngine de Microsoft. Cela fournit un pilote ODBC Access 32 bits qui prend en charge les fichiers de base de données au format ACCDB. Cependant, Windows 8 et versions ultérieures ne sont pas répertoriés comme systèmes d'exploitation pris en charge pour AccessDatabaseEngine.
  • Utilisez le pont Easysoft ODBC-ODBC, qui permet à une application 32 bits d'utiliser un pilote ODBC 64 bits (et vice versa).