IM002: Der Treiber wird nicht gefunden
Eine Verbindung scheitert mit SQLSTATE IM002, etwa „[Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein
Standardtreiber angegeben“, obwohl der Treiber installiert scheint.
Umgebung
Windows, jede ODBC-Anwendung; besonders bei 64-Bit-Office auf einem Arbeitsplatz, auf dem nur der 32-Bit-Treiber eingetragen ist, oder umgekehrt.
Ursache
IM002 meldet der Treibermanager: Er findet für die Bitbreite der Anwendung keinen Treiber Wkl OData oder keine
Datenquelle des genannten Namens. Die Treiberliste und die Datenquellen des Systems gibt es
je Bitbreite getrennt: Eine 32-Bit-Anwendung sieht nur die 32-Bit-Einträge, eine 64-Bit-Anwendung
nur die 64-Bit-Einträge. Einen Treibernamen sucht der Treibermanager nur unter
HKEY_LOCAL_MACHINE. Datenquellen des Benutzers (unter HKEY_CURRENT_USER) gelten dagegen
für beide Bitbreiten; eine solche Datenquelle zeigt auf genau eine DLL und lässt sich
deshalb nur in deren Bitbreite laden.
Bis Fassung 0.6.0 meldete der Treiber auch selbst eine unzulässige Verbindungszeichenfolge mit
IM002, erkennbar am Anfang [Wkl][OData] und am genannten Schlüsselwort. Ab Fassung 0.7.0 meldet
er sie mit 08001 oder 28000 (siehe Ausnahmen).
Behebung
- Lesen Sie die Meldung. Beginnt sie mit
[Wkl][OData]und nennt einen Grund aus der Verbindung (URL,PWD,ROLE…), arbeiten Sie mit Treiberfassung 0.6.0 oder älter: Korrigieren Sie die Verbindungszeichenfolge. - Sonst prüfen Sie die Bitbreite der Anwendung (Access: Datei > Konto > Info zu Access) und öffnen Sie die ODBC-Datenquellen-Verwaltung derselben Bitbreite. Erscheint Wkl OData unter Treiber nicht, installieren Sie das Paket neu; siehe So verteilen Sie den Treiber.
- Nennt die Verbindung
DSN=…, legen Sie die Datenquelle in der Verwaltung derselben Bitbreite an – als Datenquelle des Systems, oder als Datenquelle des Benutzers, die dann für beide Bitbreiten sichtbar ist.
Prüfung
Die ODBC-Datenquellen-Verwaltung der Bitbreite der Anwendung zeigt Wkl OData unter Treiber, und Testen im Dialog des Treibers meldet die Verbindung.