PRB: Errore ASP 80004005 "nome origine dati non trovato"

Sintomi

Quando si utilizza ActiveX Data Objects (ADO) o ODBC per aprire una connessione di database in una pagina di pagine ASP (ASP), è che venga visualizzato il seguente messaggio di errore:
Provider Microsoft OLE DB per driver ODBC, errore '80004005'
[Microsoft] [Gestione Driver ODBC] Nome origine dati non trovato e driver predefinito non specificato.

Causa

Questo errore può verificarsi quando si utilizza una stringa di connessione basata sul DSN (una stringa di connessione che utilizza un DSN di sistema) o una stringa di connessione senza DSN con ADO e ODBC per aprire una connessione di database in una pagina ASP. Le cause più comuni di questo errore sono elencate di seguito.

Utilizzando un DSN ODBC

  • L'account utente di Microsoft Windows NT 4.0 o Windows 2000 utilizzato per elaborare la richiesta della pagina ASP non dispone di autorizzazioni sufficienti per leggere la chiave del Registro di sistema che memorizza le informazioni di configurazione del DSN specificato.
  • Il DSN di sistema ODBC specificato nella stringa di connessione ADO non esiste sul server IIS.
  • La variabile di sessione o applicazione ASP che viene inizializzata nel file Global. asa dell'applicazione ASP (o in una pagina ASP che viene eseguita prima che la pagina che contiene il codice di connessione di database) viene utilizzata per specificare la stringa di connessione ADO. Questa variabile di stringa di connessione non viene inizializzata quando viene eseguito il codice per aprire la connessione al database. Per verificare ciò, aggiungere un'istruzione Response. Write prima della riga di codice che apre la connessione al database per visualizzare la stringa di connessione che viene memorizzata nella variabile.

Utilizzando una stringa di connessione senza DSN

  • L'account utente di Windows NT 4.0 o Windows 2000 utilizzato per elaborare la richiesta della pagina ASP non dispone di autorizzazioni sufficienti per leggere la chiave del Registro di sistema che memorizza le informazioni di configurazione del Driver ODBC specificato. Il parametro di Driver in una stringa di connessione senza DSN specifica il driver ODBC utilizzato per stabilire la connessione al database.
  • Il nome del driver ODBC specificato nella stringa di connessione è errato o il driver non è installato sul server Internet Information Server (IIS).
  • La variabile di sessione o applicazione ASP che viene inizializzata nel file Global. asa dell'applicazione ASP (o in una pagina ASP che viene eseguita prima che la pagina che contiene il codice di connessione di database) viene utilizzata per specificare la stringa di connessione ADO. Questa variabile di stringa di connessione non viene inizializzata quando viene eseguito il codice per aprire la connessione al database. Per verificare ciò, aggiungere un'istruzione Response. Write prima della riga di codice che apre la connessione al database per visualizzare la stringa di connessione che viene memorizzata nella variabile.

Risoluzione

Importante Questa sezione, metodo o attività contiene passaggi su come modificare il Registro di sistema. Tuttavia, una modifica errata del registro di sistema potrebbe causare gravi problemi. Pertanto, assicurarsi di seguire attentamente i passaggi. Per maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Cosicché sia possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e ripristinare il Registro di sistema, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
322756 come eseguire il backup e ripristinare il Registro di sistema Windows

Utilizzando un DSN ODBC

Autorizzazioni insufficienti per leggere la chiave del Registro di sistema DSN

Concedere all'account di utente di Windows NT 4.0 o Windows 2000 dell'accesso in lettura alla chiave del Registro di sistema ODBC DSN di sistema specificata nel modo seguente:
  1. Determinare l'account utilizzato per elaborare la richiesta della pagina ASP.
  2. Dal menu Start , scegliere Esegui, digitare regedt32.exee quindi fare clic su OK per avviare l'Editor del Registro di sistema.
  3. Nella finestra HKEY_LOCAL_MACHINE , individuare il , ovvero HKLM\SOFTWARE\ODBC\ODBC.. INI chiave. Il ODBC. INI chiave contiene una sottochiave per ogni DSN di sistema ODBC registrato sul server.
  4. Scegliere la chiave del Registro di sistema DSN per il DSN specificato nella stringa di connessione ADO.
  5. Scegliere autorizzazionidal menu protezione .
  6. Aggiungere l'account utente è identificato nel passaggio 1 all'elenco di utenti che possono accedere a questa chiave e selezionare la casella di controllo lettura per l'utente.
  7. Fare clic su Applicae quindi chiudere l'Editor del Registro di sistema.

DSN specificato non esiste sul Server IIS

Creare il DSN ODBC di sistema specificato sul Server IIS.

Non è in esecuzione il codice di Global. asa per inizializzare la stringa di connessione ADO

  1. Verificare che la cartella dell'applicazione IIS impostata come una directory virtuale IIS con le autorizzazioni per eseguire gli script.
  2. Verificare che il file Global. asa si trovi nella directory principale dell'applicazione IIS.
  3. Se la cartella dell'applicazione è già presente una directory virtuale IIS, rimuovere e ricreare l'applicazione IIS.
  4. Consultare gli articoli elencati nella sezione "Riferimenti" per determinare se questi articoli riguardano lo scenario specifico.
  5. Se il codice nel file Global. asa non viene visualizzato sia in esecuzione dopo aver eseguito i passaggi precedenti, contattare il servizio supporto tecnico clienti Microsoft.

Utilizzando una stringa di connessione senza DSN

Autorizzazioni insufficienti per leggere la chiave del Registro di sistema di Driver ODBC specificato

Concedere all'account di utente di Windows NT 4.0 o Windows 2000 dell'accesso in lettura alla chiave di registro del Driver ODBC specificata come segue:
  1. Determinare l'account utilizzato per elaborare la richiesta della pagina ASP.
  2. Dal menu Start , scegliere Esegui, digitare regedt32.exee quindi fare clic su OK per avviare l'Editor del Registro di sistema.
  3. Nella finestra HKEY_LOCAL_MACHINE , individuare il HKLM\SOFTWARE\ODBC\ODBCINST. INI chiave. Il ODBCINST . INI chiave contiene una sottochiave per ogni Driver ODBC installato sul server.
  4. Scegliere la chiave del Registro di sistema di Driver per il Driver specificato nella stringa di connessione ADO.
  5. Scegliere autorizzazionidal menu protezione .
  6. Aggiungere l'account utente è identificato nel passaggio 1 all'elenco di utenti che possono accedere a questa chiave e selezionare la casella di controllo lettura per l'utente.
  7. Fare clic su Applicae quindi chiudere l'Editor del Registro di sistema.

Nome del driver è errato o non è installato sul Server IIS

Verificare che il nome del Driver ODBC è corretta nella stringa di connessione ADO. Inoltre, verificare che sia installato il driver specificato sul Server IIS. Per visualizzare un elenco dei driver ODBC installati su un sistema, cercare in di Amministrazione origine dati ODBC (Odbcad32.exe) nella scheda driver .

Non è in esecuzione il codice di Global. asa per inizializzare la stringa di connessione ADO

  1. Verificare che la cartella dell'applicazione IIS impostata come una directory virtuale IIS con le autorizzazioni per eseguire gli script.
  2. Verificare che il file Global. asa si trovi nella directory principale dell'applicazione IIS.
  3. Se la cartella dell'applicazione è già presente una directory virtuale IIS, rimuovere e ricreare l'applicazione IIS.
  4. Consultare gli articoli elencati nella sezione "Riferimenti" per determinare se questi articoli riguardano lo scenario specifico.
  5. Se il codice nel file Global. asa non viene visualizzato sia in esecuzione dopo aver eseguito i passaggi precedenti, contattare il servizio supporto tecnico clienti Microsoft.

Stato

Questo è il comportamento previsto.

Ulteriori informazioni

L'account utente di Windows NT 4.0 o Windows 2000, le cui credenziali vengono utilizzate per elaborare una richiesta di una pagina ASP è determinato dal meccanismo di autenticazione che il Server Web utilizza per autenticare la richiesta dell'utente. Ad esempio, se si utilizza l'autenticazione anonima, le credenziali dell'account anonimo di IIS configurato (l'account IUSR _ <NomeServerWeb> per impostazione predefinita) viene utilizzato per elaborare la richiesta dell'utente. Quando si utilizza l'autenticazione di base, Microsoft Internet Explorer viene chiesto all'utente di fornire un valido di Windows NT 4.0 o Windows 2000 Network ID utente e password le cui credenziali vengono quindi utilizzate per elaborare la richiesta. Per ulteriori informazioni sui meccanismi di autenticazione supportati e sul relativo funzionamento, consultare la documentazione in linea di IIS.

Riferimenti

Per ulteriori informazioni, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:
ASA globale di 188715 viene attivato quando Visual InterDev apportate a IIS 4.0 applicazione
288245 PRB: Global. asa non viene eseguito da Personal Web Server in Windows 98
265275 FP2000: Global. asa non viene eseguito nel Web di FrontPage
Proprietà

ID articolo: 306345 - Ultima revisione: 30 gen 2017 - Revisione: 2

Feedback