ODBC-Administratortool zeigt in einer 64-Bit-Version von Windows sowohl die 32-Bit- als auch die 64-Bit-Benutzer-DSN an

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 942976 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

64-Bit-Version des Betriebssystems Microsoft Windows enthält die folgenden Versionen des Microsoft Open Database Connectivity (ODBC) Datenquellen-Administratortools (Odbcad32.exe):
  • Die 32-Bit-Version der Datei "Odbcad32.exe" befindet sich im Ordner "%systemdrive%\Windows\SysWoW64".
  • Die 64-Bit-Version der Datei "Odbcad32.exe" befindet sich im Ordner "%systemdrive%\Windows\System32".
Die Datei "Odbcad32.exe" zeigt die folgenden Typen von Datenquellennamen (Data Source Names, DSN) an:
  • System-DSN
  • Benutzer-DSN

Symptom 1

Die 32-Bit-Version des ODBC-Administratortools zeigt 32-Bit-System-DSN, 32-Bit-Benutzer-DSN und 64-Bit-Benutzer-DSN an. Die 64-Bit-Version des ODBC-Administratortools zeigt 64-Bit-System-DSN, 32-Bit-Benutzer-DSN und 64-Bit-Benutzer-DSN an.

Symptom 2

Die SQLDataSources-Funktion gibt alle Versionen der Benutzer-DSN zurück, unabhängig von der Architektur der Anwendung. Wenn die SQLDataSources-Funktion in einer 32-Bit-Anwendung aufgerufen wird, gibt sie nur die System-DSN für 32-Bit-Treiber, aber die Benutzer-DSN für 32-Bit- und 64-Bit-Treiber zurück. Und wenn die SQLDataSources-Funktion in einer 64-Bit-Anwendung aufgerufen wird, gibt sie nur die System-DSN für 64-Bit-Treiber, aber die Benutzer-DSN für 32-Bit- und 64-Bit-Treiber zurück. Wenn die Anwendung eine Verbindung unter Verwendung einer von der SQLDataSources-Funktion zurückgegebenen Benutzer-DSN herstellt, wird daher möglicherweise folgende Fehlermeldung angezeigt:
Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben.
Stellen Sie sich beispielsweise das folgende Szenario vor. Sie erstellen einen Benutzer-DSN für den 32-Bit-Treiber "Microsoft Access Driver (*.mdb)". Für diesen Treiber ist keine entsprechende 64-Bit-Version verfügbar. Die SQLDataSources-Funktion, die in 64-Bit-Anwendungen aufgerufen wird, gibt diesen 32-Bit-Benutzer-DSN zurück. Wenn Sie allerdings eine Verbindung über diesen 32-Bit-Benutzer-DSN herstellen, erhalten Sie die weiter oben in diesem Abschnitt genannte Fehlermeldung.

Ursache

Die Benutzer-DSN werden unter dem folgenden Registrierungsunterschlüssel gespeichert:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Die Registrierungsumleitung ist für diesen Registrierungsunterschlüssel nicht aktiviert. Daher werden die Benutzer-DSN sowohl in der 32-Bit- als auch der 64-Bit-Version des ODBC-Administratortools angezeigt.

Lösung

Da die Abwärtskompatibilität gewährleistet werden soll, ist keine Lösung für dieses Problem verfügbar.

Abhilfe

Um dieses Problem zu umgehen, verwenden Sie die geeignete Version des ODBC-Administratortools. Wenn Sie eine Anwendung als 32-Bit-Anwendung erstellen und dann unter einem 64-Bit-Betriebssystem ausführen, müssen Sie die ODBC-Datenquelle mit dem in der Datei "%windir%\SysWOW64\odbcad32.exe" enthaltenen ODBC-Administratortool erstellen. Um den Typ von DSN anzugeben, können Sie den 32-Bit-Benutzer-DSN "_32" und den 64-Bit-Benutzer-DSN "_64" hinzufügen.

Weitere Informationen

Die 64-Bit-Version des ODBC-Administratortools kann über die Systemsteuerung zur Verwaltung der Benutzer-DSN und System-DSN, die von 64-Bit-Prozessen verwendet werden, aufgerufen werden. Unter einem 64-Bit-Betriebssystem wird das 32-Bit-ODBC-Administratortool für Windows-on-Windows-64 (WOW64)-Prozesse verwendet. Sie müssen das 32-Bit-ODBC-Administratortool direkt aus dem Ordner "SysWoW64" aufrufen. Sie können mit dem 32-Bit-ODBC-Administratortool Benutzer-DSN und System-DSN verwalten, die von WOW64-Prozessen verwendet werden.

System-DSN werden im folgenden Registrierungsunterschlüssel gespeichert:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI
Die Registrierungsumleitung ist für diesen Registrierungsunterschlüssel aktiviert. Daher werden die System-DSN für 32-Bit-Treiber und für 64-Bit-Treiber getrennt. Das 64-Bit-ODBC-Administratortool zeigt keine System-DSN an, die vom 32-Bit-ODBC-Administratortool erstellt werden. Ebenso zeigt das 32-Bit-ODBC-Administratortool keine System-DSN an, die vom 64-Bit-ODBC-Administratortool erstellt werden. Außerdem zeigt das 64-Bit-ODBC-Administratortool keine System-DSNs an, die 32-Bit-Treiber verwenden. Ebenso zeigt das 32-Bit-ODBC-Administratortool keine System-DSN an, die 64-Bit-Treiber verwenden.

Die Benutzer-DSNs werden im folgenden Registrierungsunterschlüssel gespeichert:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
Die Registrierungsumleitung ist für diesen Registrierungsunterschlüssel nicht aktiviert. Daher zeigen beide ODBC-Administratortools alle Benutzer-DSNs an.

Weitere Informationen zur Registrierungsumleitung finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:
http://msdn2.microsoft.com/de-de/library/aa384232.aspx

Eigenschaften

Artikel-ID: 942976 - Geändert am: Freitag, 29. November 2013 - Version: 6.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Open Database Connectivity 4.21
Keywords: 
kbexpertiseadvanced kbtshoot kbprb KB942976
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com