Artikel-ID: 306345 - Geändert am: Mittwoch, 6. Dezember 2006 - Version: 5.0

PRB: ASP-Fehler 80004005 "Der Datenquellenname wurde nicht gefunden"

SystemtippDieser Artikel bezieht sich auf ein anderes Betriebssystem als das von Ihnen verwendete. Für Sie möglicherweise nicht relevante Artikelinhalte wurden deaktiviert.
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
306345  (http://support.microsoft.com/kb/306345/EN-US/ ) PRB: ASP Error 80004005 "Data Source Name Not Found"
Wichtig: Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Bevor Sie die Registrierung bearbeiten, vergewissern Sie sich bitte, dass Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Weitere Informationen zum Erstellen einer Sicherungskopie, zum Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
256986  (http://support.microsoft.com/kb/256986/DE/ ) Beschreibung der Microsoft Windows-Registrierung
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie ActiveX Data Objects (ADO) oder ODBC zum Öffnen einer Datenbank in einer Active Server Pages (ASP)-Seite verwenden, wird möglicherweise die folgende Fehlermeldung angezeigt (sinngemäß):
Fehler '80004005' bei Microsoft OLE DB-Provider für ODBC-Treiber (Microsoft OLE DB Provider for ODBC Drivers error '80004005')
[Microsoft][ODBC-Treiber-Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben.

Ursache

Dieser Fehler kann auftreten, wenn Sie eine auf einem Datenquellennamen (Data Source Name, DSN) basierende Verbindungszeichenfolge (eine Verbindungszeichenfolge, die einen System-DSN verwendet) oder eine Verbindungszeichenfolge ohne DSN mit ADO und ODBC verwenden, um eine Datenbankverbindung in einer ASP-Seite zu öffnen. Die häufigsten Ursachen dieses Fehlers werden nachstehend aufgelistet.

Verwenden eines ODBC-DSN

  • Das Microsoft Windows NT 4.0- oder Windows 2000-Benutzerkonto, unter dem die Anforderung für die ASP-Seite verarbeitet wird, verfügt nicht über ausreichende Berechtigungen, um den Registrierungsschlüssel lesen zu können, in dem die Konfigurationsdaten des DSN gespeichert sind.
  • Der in der ADO-Verbindungszeichenfolge angegebene System-DSN für ODBC ist auf dem IIS-Server nicht vorhanden.
  • Die ADO-Verbindungszeichenfolge wird durch die ASP-Variable Application (Anwendung) oder Session (Sitzung) angegeben, die in der Datei "Global.asa" der ASP-Anwendung (oder in einer ASP-Seite, auf die zugegriffen wird, bevor auf die Seite mit dem Datenbankverbindungscode zugegriffen wird) initialisiert wird. Diese Verbindungszeichenfolgenvariable wird nicht initialisiert, wenn der Code zum Öffnen der Datenbankverbindung ausgeführt wird. Sie können dies überprüfen, indem Sie eine Response.Write-Anweisung vor die Codezeile setzen, die die Datenbankverbindung öffnet, um die in der Variable gespeicherte Verbindungszeichenfolge anzuzeigen.

Verwenden einer Verbindungszeichenfolge ohne DSN

  • Das Windows NT 4.0- oder Windows 2000-Benutzerkonto, unter dem die Anforderung für die ASP-Seite verarbeitet wird, verfügt nicht über ausreichende Berechtigungen, um den Registrierungsschlüssel lesen zu können, in dem die Konfigurationsdaten des angegebenen ODBC-Treibers gespeichert sind. Der Parameter Driver (Treiber) in einer Verbindungszeichenfolge ohne DSN gibt den ODBC-Treiber an, der zum Einrichten der Datenbankverbindung verwendet wird.
  • Der Name des in der Verbindungszeichenfolge angegebenen ODBC-Treibers ist falsch geschrieben oder verweist auf einen Treiber, der nicht auf dem IIS-Server installiert ist.
  • Die ADO-Verbindungszeichenfolge wird durch die ASP-Variable Application (Anwendung) oder Session (Sitzung) angegeben, die in der Datei "Global.asa" der ASP-Anwendung (oder in einer ASP-Seite, auf die zugegriffen wird, bevor auf die Seite mit dem Datenbankverbindungscode zugegriffen wird) initialisiert wird. Diese Verbindungszeichenfolgenvariable wird nicht initialisiert, wenn der Code zum Öffnen der Datenbankverbindung ausgeführt wird. Sie können dies überprüfen, indem Sie eine Response.Write-Anweisung vor die Codezeile setzen, die die Datenbankverbindung öffnet, um die in der Variable gespeicherte Verbindungszeichenfolge anzuzeigen.

Lösung

Achtung: Die unkorrekte Verwendung des Registrierungseditors kann schwerwiegende Probleme verursachen, die das gesamte System betreffen und eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.

Verwenden eines ODBC-DSN

Nicht ausreichende Berechtigungen zum Lesen des DSN-Registrierungsschlüssels

Gewähren Sie dem Windows NT 4.0- oder Windows 2000-Benutzerkonto Lesezugriff auf den Registrierungsschlüssel für den angegebenen ODBC-System-DSN, indem Sie folgendermaßen vorgehen:
  1. Bestimmen Sie, unter welchem Konto die Anforderung für die ASP-Seite verarbeitet wird.
  2. Klicken Sie auf Start und auf Ausführen, geben Sie regedt32.exe ein, und klicken Sie auf OK, um den Registrierungseditor zu starten.
  3. Navigieren Sie im Fenster HKEY_LOCAL_MACHINE zu dem Schlüssel HKLM\SOFTWARE\ODBC\ODBC.INI. Der Schlüssel ODBC.INI enthält einen Unterschlüssel für jeden ODBC-SYSTEM-DSN, der auf dem Server registriert ist.
  4. Klicken Sie auf den DSN-Registrierungsschlüssel für den DSN, der in der ADO-Verbindungszeichenfolge angegeben ist.
  5. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  6. Fügen Sie das in Schritt 1 identifizierte Benutzerkonto zu der Liste mit Benutzern hinzu, die auf diesen Schlüssel zugreifen können, und aktivieren Sie das Kontrollkästchen Lesen für diesen Benutzer.
  7. Klicken Sie auf Übernehmen, und schließen Sie den Registrierungseditor.

Angegebener DSN ist auf dem IIS-Server nicht vorhanden

Erstellen Sie den angegebenen System-DSN für ODBC auf dem IIS-Server.

"Global.asa"-Code zum Initialisieren der ADO-Verbindungszeichenfolge wird nicht ausgeführt

  1. Stellen Sie sicher, dass der Ordner für die IIS-Anwendung als virtuelles IIS-Verzeichnis mit Berechtigungen zum Ausführen von Skripts eingerichtet wurde.
  2. Stellen Sie sicher, dass die Datei "Global.asa" sich im Stammverzeichnis der IIS-Anwendung befindet.
  3. Wenn der Anwendungsordner bereits als virtuelles IIS-Verzeichnis eingerichtet ist, entfernen Sie die IIS-Anwendung, und erstellen Sie sie neu.
  4. Lesen Sie die unter "Informationsquellen" aufgelisteten Artikel, um festzustellen, ob einer dieser Artikel auf Ihr spezielles Szenario zutrifft.
  5. Wenden Sie sich an Microsoft Product Support Services, wenn der Code in "Global.asa" immer noch nicht ausgeführt wird, nachdem Sie die vorangegangenen Schritte durchgeführt haben.

Verwenden einer Verbindungszeichenfolge ohne DSN

Nicht ausreichende Berechtigungen zum Lesen des Registrierungsschlüssels für den angegebenen ODBC-Treiber

Gewähren Sie dem Windows NT 4.0- oder Windows 2000-Benutzerkonto Lesezugriff auf den Registrierungsschlüssel für den angegebenen ODBC-Driver, indem Sie folgendermaßen vorgehen:
  1. Bestimmen Sie, unter welchem Konto die Anforderung für die ASP-Seite verarbeitet wird.
  2. Klicken Sie auf Start und auf Ausführen, geben Sie regedt32.exe ein, und klicken Sie auf OK, um den Registrierungseditor zu starten.
  3. Navigieren Sie im Fenster HKEY_LOCAL_MACHINE zu dem Schlüssel HKLM\SOFTWARE\ODBC\ODBCINST.INI. Der Schlüssel ODBCINST.INI enthält einen Unterschlüssel für jeden ODBC-Treiber, der auf dem Server installiert ist.
  4. Klicken Sie auf den Treiber-Registrierungsschlüssel für den Treiber, der in der ADO-Verbindungszeichenfolge angegeben ist.
  5. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  6. Fügen Sie das in Schritt 1 identifizierte Benutzerkonto zu der Liste mit Benutzern hinzu, die auf diesen Schlüssel zugreifen können, und aktivieren Sie das Kontrollkästchen Lesen für diesen Benutzer.
  7. Klicken Sie auf Übernehmen, und schließen Sie den Registrierungseditor.

Treibername ist falsch geschrieben, oder Treiber ist nicht auf dem IIS-Server installiert

Stellen Sie sicher, dass der Name des ODBC-Treibers in der ADO-Verbindungszeichenfolge korrekt geschrieben ist. Stellen Sie außerdem sicher, dass der angegebene Treiber auf dem IIS-Server installiert ist. Eine Liste der auf einem System installierten ODBC-Treiber finden Sie unter dem ODBC-Datenquellen-Administrator (Odbcad32.exe) auf der Registerkarte Treiber.

"Global.asa"-Code zum Initialisieren der ADO-Verbindungszeichenfolge wird nicht ausgeführt

  1. Stellen Sie sicher, dass der Ordner für die IIS-Anwendung als virtuelles IIS-Verzeichnis mit Berechtigungen zum Ausführen von Skripts eingerichtet wurde.
  2. Stellen Sie sicher, dass die Datei "Global.asa" sich im Stammverzeichnis der IIS-Anwendung befindet.
  3. Wenn der Anwendungsordner bereits als virtuelles IIS-Verzeichnis eingerichtet ist, entfernen Sie die IIS-Anwendung, und erstellen Sie sie neu.
  4. Lesen Sie die unter "Informationsquellen" aufgelisteten Artikel, um festzustellen, ob einer dieser Artikel auf Ihr spezielles Szenario zutrifft.
  5. Wenden Sie sich an Microsoft Product Support Services, wenn der Code in "Global.asa" immer noch nicht ausgeführt wird, nachdem Sie die vorangegangenen Schritte durchgeführt haben.

Status

Es handelt sich hierbei um ein programmtechnisch bedingtes Verhalten.

Weitere Informationen

Das Windows NT 4.0- oder Windows 2000-Benutzerkonto, dessen Anmeldeinformationen verwendet werden, um eine Anforderung für eine ASP-Seite zu verarbeiten, wird durch den Authentifizierungsmechanismus bestimmt, mit dem der Webserver die Benutzeranforderung authentifiziert. Wenn Sie zum Beispiel die anonyme Authentifizierung verwenden, werden die Anmeldeinformationen des konfigurierten anonymen IIS-Kontos (standardmäßig ist dies das Konto "IUSR_<Name des Webservers>") verwendet, um die Benutzeranforderung zu verarbeiten. Bei Verwendung der Standardauthentifizierung fordert Microsoft Internet Explorer den Benutzer auf, eine gültige Windows NT 4.0- oder Windows 2000-Netzwerkbenutzerkennung und ein Kennwort einzugeben. Diese Anmeldeinformationen werden dann verwendet, um die Anforderung zu verarbeiten. Weitere Informationen zu den unterstützten Authentifizierungsmechanismen und zu deren Funktionsweise finden Sie in der IIS-Onlinedokumentation.

Informationsquellen

Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
188715  (http://support.microsoft.com/kb/188715/DE/ ) Global ASA, die nicht ausgelöst wird, wenn Visual InterDev IIS 4.0-Anwendung vornahm
288245  (http://support.microsoft.com/kb/288245/DE/ ) PRB: Global.asa wird nicht von Personal Web Server unter Windows 98 ausgelöst
265275  (http://support.microsoft.com/kb/265275/DE/ ) FP2000: Global.asa wird nicht in FrontPage ausgeführt
173742  (http://support.microsoft.com/kb/173742/DE/ ) UPDATE: wenn Global.asa Webzugriff einschränkt, wird Global.asa nicht ausgeführt

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Active Server Pages 2.0
  • Microsoft Active Server Pages 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.5 Service Pack 2
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.7
Keywords: 
kbprb KB306345
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.