Access
 sql >> Datenbank >  >> RDS >> Access

Umgehung von Architekturkonfliktfehlern bei der Verwendung von Microsoft Access

Von Zeit zu Zeit fragen uns unsere Kunden, welche Möglichkeiten sie haben, wenn ihr Versuch, eine Access-Datenbank als Back-End ihrer Anwendung zu verwenden, fehlschlägt:

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

Die Ursache des Problems ist, dass sich die Architektur des Treibers, der für die Verbindung mit Access verwendet wird, von der ihrer Anwendung unterscheidet, d. h. sie versuchen, einen 64-Bit-Access-Treiber mit einer 32-Bit-Anwendung zu verwenden. Sie landen in dieser Situation, weil neuere Versionen von Access das ACCDB-Format für ihre Datenbankdateien verwenden und der Access-Treiber für ACCDB-Dateien nur 64-Bit ist.

(Der fragliche Treiber ist ein ODBC-Treiber für Access. ODBC ist eine Datenzugriffstechnologie, die es Anwendungen ermöglicht, sich mit jeder Datenbank zu verbinden, für die ein ODBC-Treiber verfügbar ist.)

Angesichts dieser Situation sind die folgenden Problemumgehungen verfügbar:

  • Verwenden Sie stattdessen eine Access-Datenbank im MDB-Format, die in Microsoft Access im Dialogfeld Datei neue Datenbank als Microsoft Access-Datenbanken (2002-2003-Format) bezeichnet wird.

    Windows enthält einen 32-Bit-Access-ODBC-Treiber, der mit MDB-Dateien (aber nicht mit ACCDB-Dateien) kompatibel ist. Sie müssen eine Access-Datenquelle in der 32-Bit-Version von ODBC Administrator konfigurieren, um diesen Treiber verwenden zu können. Um die 32-Bit-Version des ODBC-Administrators auszuführen, geben Sie im Windows-Dialogfeld „Ausführen“ Folgendes ein:

    %windir%\syswow64\odbcad32.exe
    

    Sie müssen jedoch prüfen, ob Sie eine der zusätzlichen Access-Funktionen benötigen, die ACCDB-Dateien bereitstellen, bevor Sie sich zu dieser Problemumgehung verpflichten.

  • Installieren Sie die AccessDatabaseEngine von Microsoft. Dadurch wird ein 32-Bit-Access-ODBC-Treiber bereitgestellt, der Datenbankdateien im ACCDB-Format unterstützt. Allerdings werden Windows 8 und höher nicht als unterstützte Betriebssysteme für die AccessDatabaseEngine aufgeführt.
  • Verwenden Sie die Easysoft ODBC-ODBC Bridge, die es einer 32-Bit-Anwendung ermöglicht, einen 64-Bit-ODBC-Treiber zu verwenden (und umgekehrt).