PRB: ASP-Fehler 80004005 "Data Source Name nicht gefunden"

Problembeschreibung

Wenn Sie ActiveX Data Objects (ADO) oder ODBC verwenden, um eine Verbindung in einer Active Server Pages (ASP)-Seite öffnen, erhalten Sie folgende Fehlermeldung:
Microsoft OLE DB-Provider für ODBC-Treiber Fehler '80004005'
[Microsoft] [ODBC Driver Manager] Datenquellenname nicht gefunden und kein Standardtreiber angegeben.

Ursache

Dieser Fehler kann auftreten, wenn Verwendung DSN-basierte Verbindungszeichenfolge (Verbindungszeichenfolgen, die System-DSN) oder eine DSN-lose Verbindungszeichenfolge mit ADO und ODBC eine Verbindung in einer ASP-Seite zu öffnen. Häufige Ursachen für diesen Fehler sind unten aufgeführt.

Eine ODBC-DSN verwenden

  • Das Microsoft Windows NT 4.0 oder Windows 2000-Benutzerkonto, mit dem die Anforderung für die ASP-Seite, verfügt nicht über ausreichende Berechtigungen zum Lesen des Registrierungsschlüssels, der die angegebene DSN-Konfigurationsinformationen gespeichert.
  • System-ODBC-DSN, die in der ADO-Verbindungszeichenfolge angegeben ist auf dem IIS-Server nicht vorhanden.
  • Die ASP- Anwendung oder Sitzung Variable, die in der Datei "Global.asa" der ASP-Anwendung (oder in einer ASP-Seite vor der Seite erfolgt mit dem Datenbank-Verbindungscode) initialisiert wird dient die ADO-Verbindungszeichenfolge angeben. Diese Verbindung Zeichenfolgenvariable ist nicht initialisiert, wenn der Code zum Öffnen der Verbindungs ausgeführt wird. Fügen Sie zur Bestätigung eine Response.Write -Anweisung vor der Zeile Code zum Öffnen der Verbindungs die Verbindungszeichenfolge anzeigen, die in der Variablen gespeichert.

Eine DSN-lose Verbindungszeichenfolge verwenden

  • Das Windows NT 4.0 oder Windows 2000-Benutzerkonto, das verwendet wird, um die Anforderung für die ASP-Seite verfügt nicht über ausreichende Berechtigungen zum Lesen des Registrierungsschlüssels, der den angegebenen ODBC-Treiber-Konfigurationsinformationen gespeichert. Der Treiber -Parameter in eine DSN-lose Verbindungszeichenfolge gibt den ODBC-Treiber, mit dem die Verbindung hergestellt.
  • Der Name der ODBC-Treiber, der in der Verbindungszeichenfolge angegeben ist falsch geschrieben oder gibt einen Treiber, der nicht auf dem Internet Information Server (IIS) Server installiert ist.
  • Die ASP- Anwendung oder Sitzung Variable, die in der Datei "Global.asa" der ASP-Anwendung (oder in einer ASP-Seite vor der Seite erfolgt mit dem Datenbank-Verbindungscode) initialisiert wird dient die ADO-Verbindungszeichenfolge angeben. Diese Verbindung Zeichenfolgenvariable ist nicht initialisiert, wenn der Code zum Öffnen der Verbindungs ausgeführt wird. Fügen Sie zur Bestätigung eine Response.Write -Anweisung vor der Zeile Code zum Öffnen der Verbindungs die Verbindungszeichenfolge anzeigen, die in der Variablen gespeichert.

Problemlösung

Wichtig Dieser Abschnitt bzw. die Methode oder Aufgabe enthält Schritte, die erklären, wie Sie die Registrierung ändern. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie die folgenden Schritte sorgfältig ausführen. Sichern Sie die Registry für zusätzlichen Schutz, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756 zum Sichern und Wiederherstellen der Registrierung in Windows

Eine ODBC-DSN verwenden

Unzureichende Berechtigungen zum Lesen des DSN-Registrierungsschlüssels

Erteilen Sie das Windows NT 4.0 oder Windows 2000-Benutzerkonto Lesezugriff auf den angegebenen ODBC-System-DSN-Registrierungsschlüssel wie folgt:
  1. Bestimmen Sie, welchem Konto die Anforderung für die ASP-Seite.
  2. Klicken Sie im Startmenü auf Ausführen, geben Sie regedt32.exeund klicken Sie dann auf OK , um den Registrierungseditor zu starten.
  3. Wechseln Sie im Fenster HKEY_LOCAL_MACHINE auf HKLM\SOFTWARE\ODBC\ODBC. INI Schlüssel. ODBC. INI Schlüssel 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. Die Liste der Benutzer, die Zugriff auf diesen Schlüssel und Lesen das Kontrollkästchen für diesen Benutzer können das Benutzerkonto identifiziert Sie in Schritt 1 hinzugefügt.
  7. Klicken Sie auf Übernehmen, und schließen Sie den Registrierungseditor.

Angegebener DSN ist auf dem IIS-Server nicht vorhanden.

Erstellen Sie der angegebene System ODBC-DSN auf dem IIS-Server.

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

  1. Stellen Sie sicher, dass 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 im Stammverzeichnis der IIS-Anwendung befindet.
  3. Wenn der Anwendungsordner bereits als virtuelles IIS-Verzeichnis eingerichtet entfernen und die IIS-Anwendung erneut erstellt.
  4. Finden Sie Artikel, die im Abschnitt "Informationsquellen" bestimmen, ob einer dieser Artikel auf Ihr spezielles Szenario gelten aufgeführt sind.
  5. Wenden Sie sich an Microsoft Product Support Services, erscheint der Code in Global.asa noch nicht ausgeführt werden, nachdem Sie die vorangegangenen Schritte durchgeführt.

Eine DSN-lose Verbindungszeichenfolge verwenden

Unzureichende Berechtigungen zum Lesen des Registrierungsschlüssels angegebenen ODBC-Treiber

Erteilen Sie das Windows NT 4.0 oder Windows 2000-Benutzerkonto Lesezugriff auf den angegebenen ODBC-Treiber-Registrierungsschlüssel wie folgt:
  1. Bestimmen Sie, welchem Konto die Anforderung für die ASP-Seite.
  2. Klicken Sie im Startmenü auf Ausführen, geben Sie regedt32.exeund klicken Sie dann auf OK , um den Registrierungseditor zu starten.
  3. Wechseln Sie im Fenster HKEY_LOCAL_MACHINE auf HKLM\SOFTWARE\ODBC\ODBCINST. INI Schlüssel. ODBCINST. INI Schlüssel enthält einen Unterschlüssel für jeden ODBC-Treiber, die 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. Die Liste der Benutzer, die Zugriff auf diesen Schlüssel und Lesen das Kontrollkästchen für diesen Benutzer können das Benutzerkonto identifiziert Sie in Schritt 1 hinzugefügt.
  7. Klicken Sie auf Übernehmen, und schließen Sie den Registrierungseditor.

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

Stellen Sie sicher, dass der Name des ODBC-Treibers in der ADO-Verbindungszeichenfolge korrekt geschrieben ist. Außerdem überprüfen Sie, ob der angegebene Treiber auf dem IIS-Server installiert ist. Zum Anzeigen einer Liste der ODBC-Treiber, die auf einem System installiert sind, sehen Sie in der 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 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 im Stammverzeichnis der IIS-Anwendung befindet.
  3. Wenn der Anwendungsordner bereits als virtuelles IIS-Verzeichnis eingerichtet entfernen und die IIS-Anwendung erneut erstellt.
  4. Finden Sie Artikel, die im Abschnitt "Informationsquellen" bestimmen, ob einer dieser Artikel auf Ihr spezielles Szenario gelten aufgeführt sind.
  5. Wenden Sie sich an Microsoft Product Support Services, erscheint der Code in Global.asa noch nicht ausgeführt werden, nachdem Sie die vorangegangenen Schritte durchgeführt.

Status

Dieses Verhalten ist entwurfsbedingt.

Weitere Informationen

Windows NT 4.0 oder Windows 2000-Benutzerkonto, dessen Anmeldeinformationen eine Anforderung für eine ASP-Seite, bestimmt Authentifizierungsmechanismus, die Webserver zum Authentifizieren der benutzeranforderung verwendet. Beispielsweise verwenden Sie anonyme Authentifizierung, Anmeldeinformationen das konfigurierte anonyme IIS-Konto (standardmäßig das Konto IUSR_ <WebServerName>) dient die Benutzer Anforderung. Wenn Sie Standardauthentifizierung verwenden, fordert Microsoft Internet Explorer den Benutzer einen gültigen Windows NT 4.0 oder Windows 2000-Netzwerk-ID und Kennwort, dessen Anmeldeinformationen dann zum Verarbeiten der Anforderung verwendet werden. Weitere Informationen zu den unterstützten Authentifizierungsmechanismen und ihre Funktionsweise finden Sie in der IIS-Onlinedokumentation.

Referenzen

Weitere Informationen finden Sie zu die Artikeln der Microsoft Knowledge Base:
188715 global ASA nicht ausgelöst wird, wenn Visual InterDev IIS 4.0 vorgenommen Anwendung
288245 PRB: Global.asa wird nicht von Personal Webserver unter Windows 98 ausgelöst
265275 FP2000: Global.asa wird nicht in FrontPage-Web ausgeführt
Eigenschaften

Artikelnummer: 306345 – Letzte Überarbeitung: 20.01.2017 – Revision: 2

Feedback