sql >> Database teknologi >  >> RDS >> Access

Løsning af arkitekturmismatch-fejl ved brug af Microsoft Access

Fra tid til anden spørger vores kunder os, hvad deres muligheder er, når deres forsøg på at bruge en Access-database som deres applikations backend mislykkes med:

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

Årsagen til problemet er, at arkitekturen af ​​driveren, der bruges til at oprette forbindelse til Access, er forskellig fra deres applikation, dvs. de forsøger at bruge en 64-bit Access-driver med 32-bit applikation. De ender i denne situation, fordi nyere versioner af Access bruger ACCDB-formatet til deres databasefiler, og Access-driveren til ACCDB-filer er kun 64-bit.

(Den pågældende driver er en ODBC-driver til Access. ODBC er en dataadgangsteknologi, der gør det muligt for applikationer at oprette forbindelse til enhver database, som en ODBC-driver er tilgængelig for.)

I denne situation er følgende løsninger tilgængelige:

  • Brug i stedet en Access-database i MDB-format, som i Microsoft Access er mærket Microsoft Access-databaser (2002-2003-format) i dialogboksen Filer ny database.

    Windows inkluderer en 32-bit Access ODBC-driver, som er kompatibel med MDB-filer (men ikke ACCDB-filer). Du skal konfigurere en Access-datakilde i 32-bit-versionen af ​​ODBC Administrator for at bruge denne driver. For at køre 32-bit versionen af ​​ODBC Administrator skal du i Windows Kør dialogboksen skrive:

    %windir%\syswow64\odbcad32.exe
    

    Du skal dog kontrollere, om du har brug for nogen af ​​de ekstra Access-funktioner, som ACCDB-filer giver, før du forpligter dig til denne løsning.

  • Installer Microsofts AccessDatabaseEngine. Dette giver en 32-bit Access ODBC-driver, der understøtter databasefiler i ACCDB-format. Windows 8 og nyere er dog ikke opført som understøttede operativsystemer til AccessDatabaseEngine.
  • Brug Easysoft ODBC-ODBC Bridge, som gør det muligt for et 32-bit program at bruge en 64-bit ODBC-driver (og omvendt).

  1. Sådan slettes lagret procedure i MySQL

  2. Sådan læser du versionsnummer fra en databasefil i Android, som er placeret i aktiv mappe

  3. Sådan fjerner du MySQL 5.7 fuldstændigt fra Windows

  4. T-SQL:Sletter alle duplikerede rækker, men beholder én