PRB: Komunikat o błędzie 80004005 „Nie można odnaleźć nazwy źródła danych” strony ASP

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 306345 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
WAŻNE: Ten artykuł zawiera informacje na temat modyfikowania rejestru. Przed zmodyfikowaniem rejestru utwórz jego kopię zapasową i upewnij się, że wiesz, jak przywrócić rejestr w przypadku pojawienia się problemu. Aby uzyskać informacje dotyczące wykonywania kopii zapasowej, przywracania i edytowania rejestru, kliknij następujący numer artykułu z bazy wiedzy Microsoft Knowledge Base:
256986 Opis rejestru systemu Microsoft Windows
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Podczas otwierania połączenia z bazą danych na stronie Active Server Pages (ASP) przy użyciu modelu obiektów ActiveX Data Objects (ADO) lub ODBC może zostać wyświetlony następujący komunikat o błędzie:
Błąd '80004005' dostawcy bazy danych OLE Microsoft dla sterowników ODBC
[Microsoft][Menedżer sterowników ODBC]Nie znaleziono nazwy źródła danych lub nie został określony żaden sterownik domyślny.

Przyczyna

Ten błąd może wystąpić, jeśli w celu otwarcia połączenia z bazą danych na stronie ASP zostanie użyty ciąg połączenia oparty na nazwie źródła danych (ciąg połączenia wykorzystujący systemową nazwę źródła danych) lub ciąg połączenia bez nazwy źródła danych, który zawiera obiekty ADO i ODBC. Typowe przyczyny tego błędu są wymienione poniżej.

Korzystanie z nazwy źródła danych ODBC

  • Konto użytkownika systemu Microsoft Windows NT 4.0 lub Windows 2000, które zostało użyte do przetwarzania żądania strony ASP, nie ma wystarczających uprawnień, aby odczytać klucz rejestru, w którym są przechowywane informacje o konfiguracji podanej nazwy źródła danych.
  • Systemowa nazwa źródła danych ODBC podana w ciągu połączenia zawierającym obiekty ADO nie istnieje na serwerze programu IIS.
  • W celu określenia ciągu połączenia zawierającego obiekty ADO jest używana zmienna Application lub Session strony ASP, która jest inicjowana w pliku Global.asa aplikacji ASP (lub na stronie ASP otwieranej przed stroną zawierającą kod połączenia z bazą danych). Ta zmienna ciągu połączenia nie jest inicjowana podczas uruchamiania kodu otwierającego połączenie z bazą danych. Aby to potwierdzić, przed wierszem kodu otwierającego połączenie z bazą danych dodaj instrukcję Response.Write w celu wyświetlenia ciągu połączenia przechowywanego w zmiennej.

Korzystanie z ciągu połączenia bez nazwy źródła danych

  • Konto użytkownika systemu Windows NT 4.0 lub Windows 2000, które zostało użyte do przetwarzania żądania strony ASP, nie ma wystarczających uprawnień, aby odczytać klucz rejestru, w którym są przechowywane informacje o konfiguracji sterownika ODBC. Parametr Driver w ciągu połączenia bez nazwy źródła danych określa sterownik ODBC używany w celu ustanowienia połączenia z bazą danych.
  • Nazwa sterownika ODBC podana w ciągu połączenia jest niepoprawnie napisana lub określa sterownik, który nie jest zainstalowany na serwerze programu Internet Information Server (IIS).
  • W celu określenia ciągu połączenia zawierającego obiekty ADO jest używana zmienna Application lub Session strony ASP, która jest inicjowana w pliku Global.asa aplikacji ASP (lub na stronie ASP otwieranej przed stroną zawierającą kod połączenia z bazą danych). Ta zmienna ciągu połączenia nie jest inicjowana podczas uruchamiania kodu otwierającego połączenie z bazą danych. Aby to potwierdzić, przed wierszem kodu otwierającego połączenie z bazą danych dodaj instrukcję Response.Write w celu wyświetlenia ciągu połączenia przechowywanego w zmiennej.

Rozwiązanie

OSTRZEŻENIE: Nieprawidłowe korzystanie z Edytora rejestru może stać się przyczyną poważnych problemów, które spowodują, że konieczna będzie ponowna instalacja systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie problemów spowodowanych niepoprawnym użyciem Edytora rejestru będzie możliwe. Możesz używać Edytora rejestru na własną odpowiedzialność.

Korzystanie z nazwy źródła danych ODBC

Niewystarczające uprawnienia do odczytu klucza rejestru nazwy źródła danych

Udziel kontu użytkownika systemu Windows NT 4.0 lub Windows 2000 prawa Odczyt do odpowiedniego klucza rejestru systemowej nazwy źródła danych ODBC w następujący sposób:
  1. Określ, które konto jest używane do przetwarzania żądania strony ASP.
  2. W menu Start kliknij polecenie Uruchom, wpisz regedt32, a następnie kliknij przycisk OK, aby uruchomić Edytor rejestru.
  3. W oknie HKEY_LOCAL_MACHINE przejdź do klucza HKLM\SOFTWARE\ODBC\ODBC.INI. Klucz ODBC.INI zawiera podklucze dla wszystkich systemowych nazw źródła danych ODBC zarejestrowanych na serwerze.
  4. Kliknij klucz rejestru nazwy źródła danych określonej w ciągu połączenia zawierającym obiekty ADO.
  5. W menu Zabezpieczenia kliknij polecenie Uprawnienia.
  6. Do listy użytkowników, którzy mają dostęp do tego klucza, dodaj konto użytkownika zidentyfikowane w kroku 1 i zaznacz pole wyboru Odczyt dla tego użytkownika.
  7. Kliknij przycisk Zastosuj, a następnie zamknij Edytor rejestru.

Podana nazwa źródła danych nie istnieje na serwerze programu IIS

Utwórz wymaganą systemową nazwę źródła danych ODBC na serwerze programu IIS.

Kod Global.asa, który powinien inicjować ciąg połączenia zawierający obiekty ADO, nie działa

  1. Upewnij się, że folder aplikacji IIS został skonfigurowany jako katalog wirtualny IIS z uprawnieniami do wykonywania skryptów.
  2. Upewnij się, że plik Global.asa znajduje się w katalogu głównym aplikacji IIS.
  3. Jeśli folder aplikacji jest skonfigurowany jako katalog wirtualny IIS, usuń aplikację IIS i utwórz ją ponownie.
  4. Zapoznaj się z artykułami wymienionymi w sekcji „Materiały referencyjne”, aby określić, czy którykolwiek z nich odnosi się do danej sytuacji.
  5. Jeśli po wykonaniu powyższych kroków nadal nie wiadomo, czy kod w pliku Global.asa działa, skontaktuj się z Centrum pomocy technicznej firmy Microsoft.

Korzystanie z ciągu połączenia bez nazwy źródła danych

Niewystarczające uprawnienia do odczytu klucza rejestru podanego sterownika ODBC

Udziel kontu użytkownika systemu Windows NT 4.0 lub Windows 2000 prawa Odczyt do odpowiedniego klucza rejestru sterownika ODBC w następujący sposób:
  1. Określ, które konto jest używane do przetwarzania żądania strony ASP.
  2. W menu Start kliknij polecenie Uruchom, wpisz regedt32, a następnie kliknij przycisk OK, aby uruchomić Edytor rejestru.
  3. W oknie HKEY_LOCAL_MACHINE przejdź do klucza HKLM\SOFTWARE\ODBC\ODBCINST.INI. Klucz ODBCINST.INI zawiera podklucze dla wszystkich sterowników ODBC zarejestrowanych na serwerze.
  4. Kliknij klucz rejestru sterownika określonego w ciągu połączenia zawierającym obiekty ADO.
  5. W menu Zabezpieczenia kliknij polecenie Uprawnienia.
  6. Do listy użytkowników, którzy mają dostęp do tego klucza, dodaj konto użytkownika zidentyfikowane w kroku 1 i zaznacz pole wyboru Odczyt dla tego użytkownika.
  7. Kliknij przycisk Zastosuj, a następnie zamknij Edytor rejestru.

Nazwa sterownika jest niepoprawnie zainstalowana lub sterownik nie jest zainstalowany na serwerze programu IIS

Upewnij się, że nazwa sterownika ODBC jest poprawnie napisana w ciągu połączenia zawierającym obiekty ADO. Ponadto upewnij się, że podany sterownik jest zainstalowany na serwerze programu IIS. Listę sterowników ODBC zainstalowanych w systemie można wyświetlić w aplecie Administrator źródeł danych ODBC (Obdcad32.exe) na karcie Sterowniki.

Kod Global.asa, który powinien inicjować ciąg połączenia zawierający obiekty ADO, nie działa

  1. Upewnij się, że folder aplikacji IIS został skonfigurowany jako katalog wirtualny IIS z uprawnieniami do wykonywania skryptów.
  2. Upewnij się, że plik Global.asa znajduje się w katalogu głównym aplikacji IIS.
  3. Jeśli folder aplikacji jest skonfigurowany jako katalog wirtualny IIS, usuń aplikację IIS i utwórz ją ponownie.
  4. Zapoznaj się z artykułami wymienionymi w sekcji „Materiały referencyjne”, aby określić, czy którykolwiek z nich odnosi się do danej sytuacji.
  5. Jeśli po wykonaniu powyższych kroków nadal nie wiadomo, czy kod w pliku Global.asa działa, skontaktuj się z Centrum pomocy technicznej firmy Microsoft.

Stan

Takie zachowanie jest zgodne z projektem programu.

Więcej informacji

Konto użytkownika systemu Windows NT 4.0 lub Windows 2000, którego poświadczenia są używane do przetwarzania żądania strony ASP, jest określane przez mechanizm uwierzytelniania wykorzystywany przez serwer sieci Web do uwierzytelnienia żądania użytkownika. Jeśli na przykład jest używane uwierzytelnianie anonimowe, do przetwarzania żądania użytkownika są wykorzystywane poświadczenia skonfigurowanego konta anonimowego serwera IIS (domyślnie jest to konto IUSR_<nazwa_serwera_sieci_Web>). Jeśli jest używane uwierzytelnianie podstawowe, program Microsoft Internet Explorer monituje użytkownika o podanie prawidłowego identyfikatora i hasła do sieci systemu Windows NT 4.0 lub Windows 2000 użytkownika, którego poświadczenia są następnie używane do przetwarzania żądania. Aby uzyskać dodatkowe informacje na temat obsługiwanych mechanizmów uwierzytelniania i ich działaniu, zapoznaj się z dokumentacją programu IIS dostępną w trybie online.

Materiały referencyjne

Aby uzyskać dodatkowe informacje, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:
188715 Global ASA Not Firing When Visual InterDev Made IIS 4.0 Application
288245 PRB: Global.asa Does Not Fire from Personal Web Server on Windows 98
265275 FP2000: Global.asa Does Not Run in FrontPage Web
173742 FIX: Global.asa Is Not Executed If Restricting Web Access

Właściwości

Numer ID artykułu: 306345 - Ostatnia weryfikacja: 13 czerwca 2007 - Weryfikacja: 5.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Active Server Pages 2.0
  • Microsoft Active Server Pages 3.0
  • Microsoft Internet Information Server 4.0
  • Internetowe usługi informacyjne Microsoft 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
Słowa kluczowe: 
kbprb KB306345

Przekaż opinię

 

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