Od czasu do czasu nasi klienci pytają nas, jakie są ich opcje, gdy ich próba użycia bazy danych Access kończy się niepowodzeniem z powodu awarii ich aplikacji:
[Microsoft][ODBC Driver Manager]The specified DSN contains an architecture mismatch between the Driver and Application
Przyczyną problemu jest to, że architektura sterownika używanego do łączenia się z programem Access różni się od architektury ich aplikacji, tj. próbują użyć 64-bitowego sterownika Access z 32-bitową aplikacją. Kończą w takiej sytuacji, ponieważ najnowsze wersje programu Access używają formatu ACCDB dla swoich plików baz danych, a sterownik Access dla plików ACCDB jest tylko 64-bitowy.
(Omawiany sterownik to sterownik ODBC dla programu Access. ODBC to technologia dostępu do danych, która umożliwia aplikacjom łączenie się z dowolną bazą danych, dla której dostępny jest sterownik ODBC.)
W tej sytuacji dostępne są następujące obejścia:
- Zamiast tego użyj bazy danych programu Access w formacie MDB, która w programie Microsoft Access jest oznaczona jako Bazy danych programu Microsoft Access (format 2002-2003) w oknie dialogowym Plik Nowa baza danych.
System Windows zawiera 32-bitowy sterownik ODBC programu Access, który jest zgodny z plikami MDB (ale nie plikami ACCDB). Aby używać tego sterownika, należy skonfigurować źródło danych programu Access w 32-bitowej wersji Administratora ODBC. Aby uruchomić 32-bitową wersję Administratora ODBC, w oknie dialogowym Uruchom systemu Windows wpisz:
%windir%\syswow64\odbcad32.exe
Musisz jednak sprawdzić, czy potrzebujesz dodatkowych funkcji dostępu, które zapewniają pliki ACCDB, zanim zdecydujesz się na to obejście.
- Zainstaluj AccessDatabaseEngine firmy Microsoft. Zapewnia to 32-bitowy sterownik ODBC programu Access, który obsługuje pliki bazy danych w formacie ACCDB. Jednak Windows 8 i nowsze nie są wymienione jako obsługiwane systemy operacyjne dla AccessDatabaseEngine.
- Użyj Easysoft ODBC-ODBC Bridge, który umożliwia 32-bitowej aplikacji użycie 64-bitowego sterownika ODBC (i odwrotnie).