sql >> Database >  >> RDS >> Access

Omzeilen van fouten die niet overeenkomen met architectuur bij gebruik van Microsoft Access

Van tijd tot tijd vragen onze klanten ons wat hun opties zijn wanneer hun poging om een ​​Access-database te gebruiken als de back-end van hun applicatie mislukt met:

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

De oorzaak van het probleem is dat de architectuur van het stuurprogramma dat wordt gebruikt om verbinding te maken met Access, verschilt van die van hun toepassing, d.w.z. ze proberen een 64-bits Access-stuurprogramma te gebruiken met een 32-bits toepassing. Ze komen in deze situatie terecht omdat recente versies van Access het ACCDB-formaat gebruiken voor hun databasebestanden en het Access-stuurprogramma voor ACCDB-bestanden alleen 64-bits is.

(Het betreffende stuurprogramma is een ODBC-stuurprogramma voor Access. ODBC is een technologie voor gegevenstoegang waarmee toepassingen verbinding kunnen maken met elke database waarvoor een ODBC-stuurprogramma beschikbaar is.)

Gezien deze situatie zijn de volgende tijdelijke oplossingen beschikbaar:

  • Gebruik in plaats daarvan een Access-database in MDB-indeling, die in Microsoft Access wordt aangeduid als Microsoft Access-databases (2002-2003-indeling) in het dialoogvenster Nieuwe database bestand.

    Windows bevat een 32-bits Access ODBC-stuurprogramma dat compatibel is met MDB-bestanden (maar niet ACCDB-bestanden). U moet een Access-gegevensbron configureren in de 32-bits versie van ODBC Administrator om dit stuurprogramma te gebruiken. Om de 32-bits versie van de ODBC-beheerder uit te voeren, typt u in het dialoogvenster Uitvoeren van Windows:

    %windir%\syswow64\odbcad32.exe
    

    U moet echter controleren of u een van de aanvullende Access-functies nodig heeft die ACCDB-bestanden bieden voordat u deze tijdelijke oplossing toepast.

  • Installeer Microsoft AccessDatabaseEngine. Dit biedt een 32-bits Access ODBC-stuurprogramma dat databasebestanden in ACCDB-indeling ondersteunt. Windows 8 en hoger worden echter niet vermeld als ondersteunde besturingssystemen voor de AccessDatabaseEngine.
  • Gebruik de Easysoft ODBC-ODBC Bridge, waarmee een 32-bits applicatie een 64-bits ODBC-stuurprogramma kan gebruiken (en vice versa).

  1. Databases en gegevensbestanden migreren

  2. Hoe een gegevenstabel invoegen in de SQL Server-databasetabel?

  3. FOUT:toestemming geweigerd voor relatietabelnaam op Postgres tijdens het proberen van een SELECT als een alleen-lezen gebruiker

  4. PostgreSQL-tabelvariabele