Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zusammenfassung
In diesem Artikel erfahren Sie, wie Sie bestätigen, dass ein ODBC-Treiber (Open Database Connectivity) auf einem Windows-Computer installiert, registriert und ordnungsgemäß konfiguriert ist. Verwenden Sie sie, wenn eine Anwendung keine Verbindung mit einer Datenbank herstellen kann, wenn ein ODBC-Treiber nicht im ODBC-Datenquellenadministrator angezeigt wird oder wenn Sie den Fehler Data source name not found and no default driver specified (SQLSTATE IM002) erhalten. Die Überprüfungsschritte decken die 32-Bit- und 64-Bit-Kopien des ODBC-Datenquellenadministrators, den DSN-Eintrag (Data Source Name) und die Treibereinträge in der Windows Registrierung ab und die Verbindungszeichenfolge, die die Anwendung an den ODBC-Treiber-Manager übergibt.
Welche Kopie des ODBC-Datenquellenadministrators sollten Sie öffnen?
Bei 64-Bit-Versionen von Windows gibt es zwei Kopien des ODBC-Datenquellenadministrators, und jede Kopie verwaltet die Treiber und System-DSNs, die ihrer Bitanzahl entsprechen:
Wählen Sie für 64-Bit-Anwendungen Windows+R aus, und geben Sie ODBCAD32.EXE oder C:\WINDOWS\SYSTEM32\ODBCAD32.EXE ein.
Wählen Sie für 32-Bit-Anwendungen Windows+R aus, und geben Sie C:\WINDOWS\SYSWOW64\ODBCAD32.EXE ein.
Beide ausführbaren Dateien werden odbcad32.exebenannt, sodass der Ordnerpfad bestimmt, welches Sie öffnen. Stimmen Sie das Tool immer mit der Bitanzahl der Anwendung überein, die die Verbindung erstellt. Eine 32-Bit-Anwendung kann keinen 64-Bit-ODBC-Treiber laden, und eine 64-Bit-Anwendung kann keinen 32-Bit-ODBC-Treiber laden.
Beispiele für ODBC-Verbindungszeichenfolgen
Anwendungen, die einen ODBC-Treiber aufrufen, können Datenquellennamen (Data Source Names, DSNs) oder DSN-lose Verbindungszeichenfolgen verwenden. Hier finden Sie Beispiele:
driver={ODBC Driver 18 for SQL Server};server=sqlprod01;database=AdventureWorks;trusted_connection=yesdsn=userdsn1dsn=test;uid=<user name>;pwd=<password>
Der erste Verbindungszeichenfolge gibt explizit den Treibernamen, den Servernamen, den Datenbanknamen und die Verwendung integrierter Sicherheit (trusted_connection) an. Es ist eine DSN-lose Verbindung.
Die zweite und dritte Verbindungszeichenfolge verwenden einen DSN, bei dem es sich um eine Kapselung dieser Elemente handelt, die in der Registrierung gespeichert sind. Der Benutzername und das Kennwort können nicht im DSN gespeichert werden und müssen explizit angegeben werden. Weitere Informationen zu DSN-Attributen finden Sie unter DSN-Verbindungszeichenfolge-Attribut.
Eine DSN ist ein Verweis, mit dem Anwendungen den Treiber laden können, und bietet dabei eine zusätzliche Abstraktionsebene. Mithilfe eines DSN können Sie den Server, die Datenbank und sogar den Datenbanktyp ändern, mit dem die Anwendung eine Verbindung herstellt, ohne die Anwendung zu ändern.
Der Treibername in der Verbindungszeichenfolge muss mit dem Namen eines Treibers übereinstimmen, der auf dem Computer registriert ist. Bei Treiber- und DSN-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden, aber Rechtschreibung und Interpunktion müssen exakt übereinstimmen. Wenn keine registrierten Treiber übereinstimmen, kann der ODBC-Treiber-Manager den Treiber nicht laden.
Notiz
Der SQL Server Treiber (sqlsrv32.dll), der mit Windows ausgeliefert wird, und der SQL Server Native Client-Treiber (SQL Server Native Client 11.0) wird für die neue Entwicklung nicht empfohlen.
SQL Server Native Client wird nicht mit SQL Server 2022 (16.x) und höheren Versionen oder SQL Server Management Studio 19 und höher ausgeliefert. Verwenden Sie für neue Verbindungen den Microsoft ODBC-Treiber für SQL Server, den Sie für Windows, Linux und macOS herunterladen können.
Überprüfen, ob der Treiber und der DSN im ODBC-Datenquellenadministrator angezeigt werden
Verwenden Sie den ODBC-Datenquellenadministrator, um das Vorhandensein von ODBC-Treibern und DSNs zu überprüfen. Öffnen Sie die Kopie, die der Bitanzahl Ihrer Anwendung entspricht, und überprüfen Sie dann die Registerkarte "Treiber ", um festzustellen, ob der Treiber aufgeführt ist. Die folgenden Screenshots zeigen 64-Bit- und 32-Bit-Treiber:
Wenn der Treiber aufgeführt ist, erstellen Sie einen DsN-Test auf der Registerkarte "System-DSN " oder " Benutzer-DSN ", und führen Sie einen Verbindungstest aus. Ein erfolgreicher Test bestätigt, dass der Treiber geladen wird und dass der Server erreichbar ist. Wenn der Treiber nicht aufgeführt ist, installieren Sie den Treiber erneut, und überprüfen Sie dann die Registrierungsschlüssel, wie im nächsten Abschnitt beschrieben.
ODBC-Treiber und DSN-Informationen in der Registrierung
Treiber- und DSN-Informationen werden in der Registrierung gespeichert:
Auf 64-Bit-Computern trennt die Registrierungsumleitung 32-Bit- und 64-Bit-Informationen für Treiber und System-DSNs. Der Wow6432Node Registrierungseintrag speichert die 32-Bit-Treiber- und System-DSN-Informationen. Benutzer-DSNs werden nicht umgeleitet, sodass sowohl die 32-Bit- als auch die 64-Bit-Tools alle Benutzer-DSNs anzeigen. Die relevanten Schlüssel sind:
-
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC(64-Bit-Treiber und System-DSNs) -
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC(32-Bit-Treiber und System-DSNs) -
HKEY_CURRENT_USER\Software\ODBC(Benutzer-DSNs für den aktuellen Benutzer)
Der ODBC.INI Unterschlüssel enthält eine Liste aller DSNs und der Unterschlüssel für jeden DSN. Der ODBCINST.INI Unterschlüssel listet alle Treiber auf.
Wenn beim Laden eines Treibers über den DSN ein Problem auftritt, überprüfen Sie den ODBC.INI Unterschlüssel, um herauszufinden, welchen Treiber der DSN verwendet.
Vergewissern Sie sich außerdem, dass der unter "Treiberpfad" ODBCINST.INI aufgeführte Pfad auf eine DLL-Datei verweist, die auf dem Datenträger vorhanden ist. Ein Registrierungseintrag, der auf eine fehlende oder verschobene DLL verweist, ist eine häufige Ursache für Ladefehler nach einer Deinstallation, einem Upgrade oder einer manuellen Dateibereinigung. Die Dateinamen und Speicherorte, die der Microsoft ODBC-Treiber für SQL Server installiert, finden Sie unter Systemanforderungen, Installation und Treiberdateien.
Notiz
Der Eintrag "LastUser" wirkt sich nicht auf die Verbindungszeichenfolge aus. Sie wird nur beim Testen des DSN im ODBC-Datenquellenadministrator verwendet.
Fehlerbehebung bei Fehler IM002: Datenquellenname nicht gefunden und kein Standardtreiber angegeben
Überprüfen Sie den Servernamen, den Datenbanknamen und die Installation des Treibers. Wenn der Treiber nicht geladen werden kann, wird die folgende Fehlermeldung angezeigt:
FEHLER [IM002] [Microsoft][ODBC-Treiber-Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben.
Dieser Fehler bedeutet, dass der ODBC-Treiber-Manager den DSN- oder Treibernamen im Verbindungszeichenfolge nicht auflösen konnte. Überprüfen Sie die folgenden Elemente in der reihenfolge:
- Der DSN-Name im Verbindungszeichenfolge entspricht einem DSN, der im ODBC-Datenquellenadministrator aufgeführt ist.
- Ein Treiber der übereinstimmenden Bitanzahl wird installiert. Ein Benutzer-DSN wird sowohl in den 32-Bit- als auch in 64-Bit-Tools angezeigt, die Verbindung schlägt jedoch fehl, wenn der Treiber, auf den er verweist, nicht für die Bitanzahl der Anwendung installiert ist. Weitere Informationen finden Sie im ODBC-Administratortool, das sowohl die 32-Bit- als auch die 64-Bit-Benutzer-DSNs anzeigt.
- Der System-DSN wurde im Tool erstellt, das der Bitanzahl der Anwendung entspricht. System-DSNs werden von der Registrierung umgeleitet, sodass ein im 64-Bit-Tool erstelltes System-DSN für eine 32-Bit-Anwendung nicht verfügbar ist.
- Der DSN-Bereich entspricht dem Konto, mit dem die Anwendung ausgeführt wird. Ein Benutzer-DSN unter
HKEY_CURRENT_USERist für einen Dienst, der unter einem anderen Konto ausgeführt wird, nicht sichtbar. Verwenden Sie einen System-DSN für Dienste und Webanwendungen. - Der Treibername in einer DSN-losen Verbindungszeichenfolge stimmt mit einem Treiber überein, der unter dem Unterschlüssel
ODBCINST.INIaufgeführt ist.
Selbst wenn der Treiberpfad im DSN falsch ist, kann der Treiber-Manager ihn dennoch im Unterschlüssel ODBCINST.INI anhand des Treibernamens finden, der im Registrierungsschlüssel „ODBC-Datenquellen“ angegeben ist.
Wenn der Treiber geladen wird, die Verbindung jedoch weiterhin fehlschlägt, liegt das Problem in der Regel im Zusammenhang mit Netzwerk, Authentifizierung oder Verschlüsselung anstelle eines Installationsproblems. Informationen zu diesen Symptomen finden Sie unter "Behandeln von Konnektivitätsproblemen in SQL Server".
Unterstützung für NICHT-Microsoft ODBC-Treiber
Bei nicht Microsoft ODBC-Treibern ist Microsoft Unterstützung auf die folgenden Aktionen beschränkt:
- Überprüfen Sie, ob die Treiberregistrierungsschlüssel vorhanden sind. Wenn dies nicht der Fall ist, installieren Sie den Treiber erneut, oder wenden Sie sich an den Anbieter.
- Überprüfen Sie, ob die Pfade auf eine DLL-Datei verweisen, die vorhanden ist. Wenn dies nicht der Fall ist, installieren Sie den Treiber erneut, oder wenden Sie sich an den Anbieter.
- Erstellen Sie einen DSN-Test, und führen Sie einen Verbindungstest aus.
- Helfen Sie beim Erfassen einer Prozessmonitor-Ablaufverfolgung (Procmon), die der Anbieter analysieren kann.
Treiberverhalten, Treiberfehler und Treiberinstallationslogik bleiben die Verantwortung des Herstellers, der den Treiber erzeugt hat.
Haftungsausschluss für Informationen Dritter
Die in diesem Artikel erläuterten Drittanbieterprodukte werden von Unternehmen hergestellt, die unabhängig von Microsoft sind. Microsoft übernimmt keine Garantie, weder ausdrücklich noch implizit, bezüglich der Leistung oder Zuverlässigkeit dieser Produkte.