Risoluzione dei problemi relativi alle connessioni di database

Ultimo aggiornamento il 20 dic 2021

Risoluzione dei problemi di autorizzazioni, messaggi di errore Microsoft e messaggi di errore MySQL in Dreamweaver.

L’interfaccia utente di Dreamweaver e versioni successive è stata semplificata. Di conseguenza, potreste non trovare alcune delle opzioni descritte in questo articolo in Dreamweaver e versioni successive. Per ulteriori informazioni, consultate questo articolo.

Risolvere i problemi di autorizzazione

Uno dei problemi più comuni è rappresentato dalle autorizzazioni insufficienti per cartelle o file.Se il database si trova su un computer Windows 2000 o Windows XP e ricevi un messaggio di errore quando provi a visualizzare una pagina dinamica in un browser web o nella vista Live, l'errore potrebbe essere dovuto a un problema di autorizzazioni.

L'account Windows che tenta di accedere al database non ha autorizzazioni sufficienti. L'account potrebbe essere l'account Windows anonimo (per impostazione predefinita, IUSR_computername) o un account utente specifico, se la pagina è stata protetta per l'accesso autenticato.

Devi cambiare le autorizzazioni per dare all'account IUSR_computername le autorizzazioni corrette affinché il server web possa accedere al file del database.Inoltre, anche la cartella che contiene il file del database deve avere determinate autorizzazioni impostate per scrivere su quel database.

Se la pagina deve essere accessibile in modo anonimo, dai all'account IUSR_computername il controllo completo sulla cartella e sul file del database, come descritto nella procedura seguente.

Inoltre, se il percorso al database viene referenziato usando UNC (\\Server\Share), assicurati che le Autorizzazioni di Condivisione diano all'account IUSR_nomecomputer accesso completo. Questo passaggio si applica anche se la condivisione è sul server web locale.

Se copi il database da un'altra posizione, potrebbe non ereditare le autorizzazioni dalla sua cartella di destinazione e potresti dover cambiare le autorizzazioni per il database.

Verifica o cambia le autorizzazioni del file del database (Windows XP)

Assicurati di avere privilegi di amministratore sul computer.
In Esplora risorse di Windows, individua il file del database o la cartella che contiene il database, fai clic con il pulsante destro sul file o sulla cartella e seleziona Proprietà.
Selezionate la scheda Protezione.

È necessario eseguire questo passaggio solo per i file system NTFS. Nei file system FAT, la scheda Protezione non è presente nella finestra di dialogo.

Se l'account IUSR_nomecomputer non è elencato nell'elenco Nomi di gruppi o utenti, fai clic sul pulsante Aggiungi per aggiungilo.
Nella finestra di dialogo Selezione utenti o gruppi, fate clic sul pulsante Avanzate.

Nella finestra di dialogo vengono visualizzate altre opzioni.

Fate clic sul pulsante Posizioni e selezionate il nome del computer.
Fai clic su Trova ora per visualizzare un elenco dei nomi di account associati al computer.
Seleziona l'account IUSR_nomecomputer e fai clic su OK; poi fai clic di nuovo su OK per chiudere la finestra di dialogo.
Per assegnare all'account IUSR autorizzazioni complete, seleziona Controllo completo e fai clic su OK.

Verifica o modifica le autorizzazioni del file del database (Windows 2000)

Assicurati di avere privilegi di amministratore sul computer.
In Esplora risorse di Windows, individua il file del database o la cartella che contiene il database, fai clic con il pulsante destro sul file o sulla cartella e seleziona Proprietà.
Selezionate la scheda Protezione.
Nota

È necessario eseguire questo passaggio solo per i file system NTFS. Se hai un file system FAT, la finestra di dialogo non avrà una scheda Sicurezza.

Se l'account IUSR_nomecomputer non è elencato tra gli account Windows nella finestra di dialogo Autorizzazioni file, fai clic sul pulsante Aggiungi per aggiungerlo.
Nella finestra di dialogo Seleziona utenti, computer o gruppi, seleziona il nome del computer dal menu Look In per visualizzare un elenco dei nomi di account associati al computer.
Seleziona l'account IUSR_nomecomputer e fai clic su Aggiungi.
Per assegnare all'account IUSR autorizzazioni complete, seleziona Controllo completo dal menu Tipo di accesso e fai clic su OK.

Per maggiore sicurezza, le autorizzazioni possono essere impostate in modo da disabilitare l'autorizzazione di lettura per la cartella web contenente il database. Non sarà consentito sfogliare la cartella, ma le pagine web potranno comunque accedere al database.

Per ulteriori informazioni sull'Account IUSR e le autorizzazioni del server web, consulta le seguenti TechNotes sull'Adobe Support Center:

Risolvere i problemi dei messaggi di errore di Microsoft

Questi messaggi di errore Microsoft possono verificarsi quando richiedi una pagina dinamica dal Server se utilizzi Internet Information Server (IIS) con un sistema di database Microsoft come Access o SQL Server.

Adobe non fornisce supporto tecnico per software di terze parti come Microsoft Windows e IIS. Se queste informazioni non risolvono il tuo problema, contatta il supporto tecnico Microsoft o visita il sito web di supporto Microsoft su http://support.microsoft.com/.

Per ulteriori informazioni sugli errori 80004005, consultate "INFO: Troubleshooting Guide for 80004005 Errors in Active Server Pages e Microsoft Data Access Components (Q306518)" nel sito Web Microsoft in http://support.microsoft.com/default.aspx?scid=kb;it-it; Q306518.

[[Reference]80004005—Nome dell'origine dati non trovato e nessun driver predefinito specificato]

Questo errore si verifica quando tenti di visualizzare una pagina dinamica in un browser web o in Live view. Il messaggio di errore può variare a seconda del database e del server web. Altre varianti del messaggio di errore includono:

  • 80004005—SQLSetConnectAttr del driver fallito

  • 80004005—Errore generale. Impossibile aprire la chiave del Registro di sistema ‘DriverId’.

    Di seguito sono descritte le possibili cause e le relative soluzioni.

  • La pagina non è in grado di reperire il DSN. Verificate che sia stato creato un DSN sia sul server Web sia sul computer locale.

  • È possibile che il DSN sia stato impostato come DSN utente e non come DSN di sistema. Eliminate il DSN utente e create un DSN di sistema.

Se non eliminate il DSN utente, i nomi di DSN doppi producono un nuovo errore ODBC.

Se utilizzate Microsoft Access, è possibile che il file di database (.mdb) sia bloccato a causa dell’accesso al database da parte di un DSN con un nome diverso. In Esplora risorse, cercate il file di blocco (.ldb) nella cartella contenente il file di database (.mdb) ed eliminatelo. Se un altro DSN fa riferimento allo stesso file di database, è opportuno eliminarlo per impedire che l’errore si verifichi nuovamente in futuro. Riavviate il computer dopo aver apportato le modifiche.

[[Reference]80004005—Impossibile utilizzare «(sconosciuto)»; file già in uso]

Questo errore si verifica quando si utilizza un database Microsoft Access e si tenta di visualizzare una pagina dinamica in un browser web o nella vista Live.Un'altra variante di questo messaggio di errore è "80004005—Il motore del database Microsoft Jet non può aprire il file (sconosciuto)."

La causa probabile è un problema di autorizzazioni. Di seguito sono riportate alcune cause e soluzioni specifiche.

  • L'account utilizzato da Internet Information Server (solitamente IUSR) potrebbe non avere le autorizzazioni Windows corrette per un database basato su file o per la cartella contenente il file.Controlla le autorizzazioni per l'account IIS (IUSR) in Gestione utenti.

  • Potresti non avere l'autorizzazione per creare o eliminare file temporanei. Verificate le autorizzazioni del file e della cartella. Assicurati di avere l'autorizzazione per creare o eliminare eventuali file temporanei.I file temporanei vengono solitamente creati nella stessa cartella del database, ma il file può anche essere creato in altre cartelle come /Winnt.

  • In Windows 2000, potrebbe essere necessario modificare il valore di timeout per il DSN del database Access. Per modificare il valore di timeout, seleziona Start > Impostazioni > Pannello di controllo > Strumenti di amministrazione > Origini dati (ODBC). Fai clic sulla scheda Sistema, evidenzia il DSN corretto e fai clic sul pulsante Configura. Fate clic sul pulsante Opzioni e impostate il valore di timeout della pagina su 5000.

    Se hai ancora problemi, consulta i seguenti articoli della Knowledge Base Microsoft:

  • PRB: 80004005 "Impossibile utilizzare '(sconosciuto)'; File già in uso" su http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174943.

  • PRB: Errore di connettività del database Microsoft Access in Active Server Pages su http://support.microsoft.com/default.aspx?scid=kb;en-us;Q253604.

  • PRB: Errore "Impossibile aprire File sconosciuto" utilizzo di Access all’indirizzo http://support.microsoft.com/default.aspx?scid=kb;it-it;Q166029.

[[Riferimento]80004005—Accesso non riuscito()]

Questo errore si verifica quando si usa Microsoft SQL Server e si tenta di visualizzare una pagina dinamica in un browser web o nella vista Live.

Questo errore viene generato da SQL Server se non accetta o riconosce l'account di accesso o la password inviati (se usi la sicurezza normale), oppure se un account Windows non corrisponde a un account SQL (se usi la sicurezza integrata).

Di seguito sono illustrate le possibili soluzioni.

  • Se usi la sicurezza normale, il nome dell'account e la password potrebbero essere errati. Prova l'account System Admin e la password (UID= "sa" e nessuna password), che devono essere definiti nella riga di stringa di connessione. (I DSN non memorizzano i nomi utente e le password.)

  • Se usi la sicurezza integrata, controlla l'account Windows che chiama la pagina e trova il suo account SQL mappato (se presente).

  • SQL Server non consente un trattino basso nei nomi degli account SQL. Se qualcuno mappa manualmente l'account Windows IUSR_machinename a un account SQL con lo stesso nome, non funzionerà. Mappa qualsiasi account che usa un underscore a un nome di account SQL che non usa un underscore.

[[Riferimento]80004005—L'operazione deve usare una query aggiornabile]

Questo errore si verifica quando un evento aggiorna un recordset o inserisce dati in un recordset.

Ecco le possibili cause e soluzioni:

  • Le autorizzazioni impostate sulla cartella che contiene il database sono troppo restrittive. I privilegi IUSR devono essere impostati su lettura/scrittura.

  • Le autorizzazioni sul file del database stesso non hanno pieni privilegi di lettura/scrittura attivi.

  • Il database potrebbe trovarsi al di fuori della directory Inetpub/wwwroot.Benché sia possibile visualizzare ed effettuare ricerche sui dati, potrebbe non essere possibile aggiornarli a meno che il database non si trovi nella directory wwwroot.

  • Il recordset è basato su una query non aggiornabile. I join sono buoni esempi di richieste non aggiornabili all'interno di un database. Ristruttura le query in modo che siano aggiornabili.

    Per maggiori informazioni su questo errore, consulta "PRB: ASP 'Errore La richiesta non è aggiornabile' Quando aggiorni il record della tabella," nella Microsoft Knowledge Base su http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174640.

[[Riferimento]80040e07—Mancata corrispondenza del tipo di dati nell'espressione dei criteri]

Questo errore si verifica quando il server tenta di elaborare una pagina che contiene un comportamento server Insert Record o Update Record , e il comportamento server tenta di impostare il Valore di una colonna Data/Ora in un database Microsoft Access su una stringa vuota ("").

Microsoft Access ha una tipizzazione dati forte; impone un rigoroso insieme di regole sui valori delle colonne specificate. Il valore stringa vuoto nella richiesta SQL non può essere memorizzato in una colonna Data/Ora di Access. Attualmente, l'unica soluzione alternativa nota consiste nell'evitare di inserire o aggiornare colonne Data/Ora in Access con stringhe vuote ("") o con qualsiasi altro valore che non corrisponda all'intervallo di valori specificato per il tipo di dati.

[[Reference]80040e10—Too few parameters]

Questo errore si verifica quando una colonna specificata nella query SQL non esiste nella tabella del database.Controlla i nomi delle colonne nella tabella del database rispetto alla query SQL.La causa di questo errore è spesso un errore di battitura.

[[Reference]80040e10—COUNT fieldincorrect]

Questo errore si verifica quando visualizzi l'anteprima di una pagina che contiene un comportamento server Inserisci record in un browser web e tenti di utilizzarlo per inserire un record in un database Microsoft Access.

Potresti stare tentando di inserire un record in un campo del database che contiene un punto interrogativo (?) nel suo nome campo. Il punto interrogativo è un carattere speciale per alcuni motori di database, tra cui Microsoft Access, e non dovrebbe essere utilizzato per i nomi delle tabelle del database o i nomi dei campi.

Apri il sistema di database ed elimina il punto interrogativo (?)dai nomi dei campi e aggiorna i comportamenti server nella pagina che fanno riferimento a questo campo.

[[Reference]80040e14—Syntax errorin INSERT INTO statement]

Questo errore si verifica quando il server cerca di elaborare una pagina contenente un comportamento server Inserisci record.

Questo errore deriva in genere da uno o più dei seguenti problemi con il nome di un campo, oggetto o variabile nel database:

  • Utilizzo di una parola riservata come nome. La maggior parte dei database dispone di una serie di parole riservate. Ad esempio, “date” è una parola riservata e non può essere utilizzata per i nomi delle colonne di un database.

  • Utilizzo di caratteri speciali nel nome. I caratteri speciali sono ad esempio:

    . / * : ! # & - ?

  • Utilizzo di uno spazio nel nome.

    Questo errore può verificarsi anche quando una maschera di input viene definita per un oggetto nel database e i dati inseriti non sono conformi alla maschera.

    Per risolvere il problema, evitate l’uso di parole riservate quali “date”, “name”, “select”, “where” e “level” quando specificate i nomi delle colonne del database. Eliminate inoltre spazi e caratteri speciali.

    Per gli elenchi delle parole riservate nei sistemi di database più diffusi, vedete le pagine Web seguenti:

  • Microsoft Access all’indirizzo http://support.microsoft.com/default.aspx?scid=kb;it-it;Q209187

  • MySQL all’indirizzo http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Reference]80040e21—ODBC erroron Insert or Update]

Questo errore si verifica quando il server tenta di elaborare una pagina che contiene un comportamento server di aggiornamento record o di inserimento record.Il database non può gestire l'operazione di aggiornamento o inserimento che il comportamento Server sta tentando di eseguire.

Ecco le possibili cause e soluzioni:

  • Il comportamento Server sta tentando di aggiornare il campo numerazione automatica di una tabella del database o di inserire un record in un campo numerazione automatica. Poiché i campi numerazione automatica vengono popolati automaticamente dal sistema del database, qualsiasi tentativo di popolarli esternamente con un Valore fallisce.

  • I dati che il comportamento del server sta aggiornando o inserendo sono del tipo sbagliato per il campo del database, come inserire una data in un campo booleano (sì/no), inserire una stringa in un campo numerico, oppure inserire una stringa formattata in modo errato in un campo Data/Ora.

[[Reference]800a0bcd—Either BOFor EOF is true]

Questo errore si verifica quando si tenta di visualizzare una pagina dinamica in un browser web o nella vista Live.

Il problema si verifica quando la pagina tenta di visualizzare dati da un recordset vuoto.Per risolvere il problema, applica il comportamento del server Mostra area al contenuto dinamico da visualizzare sulla pagina, come segue:

Evidenzia il contenuto dinamico sulla pagina.

Nel pannello Comportamenti server, fai clic sul pulsante Più (+) e seleziona Mostra area > Mostra area se il recordset non è vuoto.

Seleziona il recordset che fornisce il contenuto dinamico e fai clic su OK.

Ripeti i passaggi da 1 a 3 per ogni elemento di contenuto dinamico sulla pagina.

Risolvere i problemi relativi a messaggi di errore MySQL

Un messaggio di errore comune che potresti incontrare quando testi una connessione database PHP a MySQL 4.1 è "Il client non supporta il protocollo di autenticazione richiesto. Considera l'aggiornamento del client MySQL."

Potrebbe essere necessario tornare a una versione precedente di MySQL o installare PHP 5 e copiare alcune librerie dinamiche (DLL). Per istruzioni dettagliate, consulta Configurazione di un ambiente di sviluppo PHP.