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).