Guide d'utilisation Annuler

Résolution des problèmes de connexion aux bases de données

 

 

Résolution des problèmes d'autorisations, des messages d'erreur Microsoft et des messages d'erreur MySQL dans Dreamweaver.

Remarque :

L’interface utilisateur a été simplifiée sous Dreamweaver et versions ultérieures. Par conséquent, il se peut que vous ne trouviez pas certaines options décrites dans cet article sous Dreamweaver et versions ultérieures. Pour plus d’informations, consultez cet article.

Résolution des problèmes d'autorisation

Les problèmes d'autorisation sont la cause la plus fréquente des erreurs d'accès aux dossiers ou aux fichiers. Si votre base de données est installée sur un ordinateur équipé de Windows 2000 ou Windows XP et si vous recevez un message d'erreur lorsque vous tentez d'afficher une page dynamique dans un navigateur Web ou en mode En direct, l'erreur peut provenir d'un problème d'autorisation.

Le compte Windows qui tente d'accéder à la base de données ne dispose pas des droits suffisants. Le compte peut être le compte anonyme Windows (par défaut, IUSR_computername) ou un compte utilisateur spécifique si la page a été sécurisée pour un accès authentifié.

Vous devez modifier les autorisations afin d'attribuer les droits d'accès appropriés au compte IUSR_computername pour que le serveur Web puisse accéder au fichier de base de données. En outre, le dossier contenant le fichier de base de données doit également disposer de certaines autorisations pour écrire dans cette base de données.

Si la page doit être accédée de manière anonyme, attribuez le contrôle complet au compte IUSR_computername pour le dossier et le fichier de base de données, comme indiqué dans la procédure ci-dessous.

En outre, si le chemin d'accès à la base de données est référencé au moyen de la convention UNC (\\Serveur\Share), assurez-vous que les Autorisations de partage attribuent les droits d'accès complets au compte IUSR_computername. Cette étape s'applique même si le partage est situé au niveau du serveur Web local.

Si vous copiez la base de données depuis un autre emplacement, il est possible qu'elle n'hérite pas des autorisations d'accès de son dossier de destination et que vous deviez modifier les autorisations d'accès pour la base de données.

Vérification ou modification des autorisations de la base de données (Windows XP)

  1. Assurez-vous que vous avez des privilèges d'administrateur sur cet ordinateur.
  2. Dans l'Explorateur Windows, localisez le fichier de la base de données ou le dossier contenant la base de données, cliquez sur ce fichier ou ce dossier avec le bouton droit de la souris, puis sélectionnez Propriétés.
  3. Cliquez sur l'onglet Sécurité.
    Remarque :

    Cette étape s'applique uniquement si vous utilisez un système de fichiers NTFS. Si vous disposez d'un système de fichiers FAT, la boîte de dialogue n'a pas d'onglet Sécurité.

  4. Si le compte IUSR_computername n'apparaît pas dans la liste des noms d'utilisateur ou de groupe, cliquez sur le bouton Ajouter pour le rajouter.
  5. Dans la boîte de dialogue de sélection des utilisateurs ou des groupes, cliquez sur Avancé.

    La boîte de dialogue vous propose alors davantage d'options.

  6. Cliquez sur le bouton des emplacements et sélectionnez le nom de l'ordinateur.
  7. Cliquez sur le bouton de recherche pour afficher une liste des noms de compte associés à l'ordinateur.
  8. Sélectionnez le compte IUSR_computername et cliquez sur OK, puis cliquez une nouvelle fois sur OK pour refermer la boîte de dialogue.
  9. Pour attribuer les droits d'accès complets au compte IUSR, cochez la case Contrôle total et cliquez sur OK.

Vérification ou modification des autorisations de la base de données (Windows 2000)

  1. Assurez-vous que vous avez des privilèges d'administrateur sur cet ordinateur.
  2. Dans l'Explorateur Windows, localisez le fichier de la base de données ou le dossier contenant la base de données, cliquez sur ce fichier ou ce dossier avec le bouton droit de la souris, puis sélectionnez Propriétés.
  3. Cliquez sur l'onglet Sécurité.
    Remarque :

    Cette étape s'applique uniquement si vous utilisez un système de fichiers NTFS. Si vous disposez d'un système de fichiers FAT, la boîte de dialogue n'a pas d'onglet Sécurité.

  4. Si le compte IUSR_computername n'est pas répertorié parmi les comptes Windows dans la boîte de dialogue Autorisations - Fichier, cliquez sur le bouton Ajouter pour l'ajouter.
  5. Dans la boîte de dialogue de sélection des utilisateurs, ordinateurs ou groupes, choisissez le nom de l'ordinateur à partir du menu de recherche pour afficher une liste des noms de compte associés à l'ordinateur.
  6. Sélectionnez le compte IUSR_computername et cliquez sur Ajouter.
  7. Pour attribuer les droits d'accès complets au compte IUSR, sélectionnez Contrôle total dans le menu Type d'accès, puis cliquez sur OK.

    Pour une sécurité accrue, les autorisations peuvent être définies de façon à ce que le droit d'accès en lecture soit désactivé pour le dossier Web contenant la base de données. Il ne sera pas permis de parcourir ce dossier, mais les pages Web continueront d'accéder à la base de données.

    Pour plus d'informations sur les autorisations du compte IUSR et du serveur Web, consultez les notes techniques du centre de support technique Adobe :

Résolution des messages d'erreur Microsoft

Ces messages d'erreur Microsoft peuvent se produire lorsque vous demandez une page dynamique au serveur si vous utilisez Internet Information Server (IIS) avec un système de base de données Microsoft tel que SQL Server ou Access.

Remarque :

Adobe n'offre pas de support technique pour les logiciels tiers tels que Microsoft Windows et IIS. Si cette section ne vous permet pas de résoudre votre problème, contactez le support technique de Microsoft ou visitez le site Web de support technique Microsoft à l'adresse http://support.microsoft.com/.

Pour plus d’informations sur les erreurs de type 80004005, reportez-vous à la section « Guide de dépannage pour les erreurs de type 80004005 au niveau des composants Active Server Pages et Microsoft Data Access (Q306518) » sur le site Web de Microsoft à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-fr;Q306518.

[[Reference]80004005—Data sourcename not found and no default driver specified (Nom de source introuvable et aucun pilote par défaut spécifié)]

Cette erreur survient lorsque vous tentez de visualiser une page dynamique dans un navigateur Web ou en mode En direct. Le message d'erreur varie en fonction de votre base de données et de votre serveur Web. D'autres variantes de ce message d'erreur incluent :

  • 80004005—Driver's SQLSetConnectAttr failed (Le paramètre SQLSetConnectAttr du pilote a échoué)

  • 80004005 - General error Unable to open registry key 'DriverId' (Erreur générale. Impossible d'ouvrir la clé du registre DriverId)

    Les causes et les solutions possibles sont les suivantes :

  • La page ne parvient pas à trouver le DSN. Assurez-vous qu'un DSN a été créé sur le serveur Web et sur l'ordinateur local.

  • Le DSN peut avoir été défini en tant que DSN utilisateur, et non en tant que DSN système. Supprimez le DSN utilisateur et créez un DSN système pour le remplacer.

Remarque :

Si vous ne supprimez pas le DSN utilisateur, les noms DSN en double engendrent de nouvelles erreurs ODBC.

Si vous utilisez Microsoft Access, le fichier de base de données (.mdb) peut être verrouillé Ce verrouillage peut être la conséquence d'un DSN avec un nom différent accédant à la base de données. Dans l'Explorateur Windows, recherchez le fichier de verrouillage (.ldb) dans le dossier contenant le fichier de base de données (.mdb) et supprimez-le. Si un autre DSN pointe vers le même fichier de base de données, vous pouvez supprimer ce DSN pour empêcher tout risque d'erreur à l'avenir. Redémarrez l'ordinateur après avoir apporté des modifications.

[[Reference]80004005—Couldn't use ‘(unknown)'; file already in use (Impossible d'utiliser "(inconnu)" ; fichier en cours d'utilisation)]

Cette erreur survient lorsque vous utilisez une base de données Microsoft Access et tentez de visualiser une page dynamique dans un navigateur Web ou en mode En direct. Une variante de ce message d'erreur est « 80004005 - Microsoft Jet database engine cannot open the file (unknown) » (Le moteur de base de données Jet ne peut pas ouvrir le fichier (inconnu)).

Ceci est probablement dû à un problème d'autorisations. Voici quelques causes et solutions spécifiques :

  • Le compte utilisé par Internet Information Server (généralement IUSR) peut ne pas disposer des droit d'accès Windows adéquats pour une base de données basée sur fichier ou pour le dossier contenant le fichier. Vérifiez les droits d'accès du compte IIS (IUSR) dans le gestionnaire utilisateur.

  • Il est possible que vous ne soyez pas autorisé à créer ou à supprimer des fichiers temporaires. Vérifiez les autorisations attribuées au fichier et au dossier. Assurez-vous que vous êtes autorisé à créer ou à supprimer des fichiers temporaires. Les fichiers temporaires sont généralement créés dans le même dossier que la base de données, mais ils peuvent également être créés dans d'autres dossiers tels que /Winnt.

  • Sous Windows 2000, il peut être nécessaire de modifier le délai d'expiration pour le DSN de la base de données Access. Pour modifier ce délai, choisissez Démarrer > Paramètres > Panneau de configuration > Outils d'administration > Sources de données (ODBC). Cliquez sur l'onglet Système, sélectionnez le DSN approprié puis cliquez sur le bouton Configurer. Cliquez sur le bouton Options et fixez la valeur de délai d'expiration de la page à 5000.

    Si les problèmes persistent, consultez les points suivants dans la base de connaissances Microsoft :

  • PRB : 80004005 « Couldn't use ‘(unknown)'; file already in use » (Impossible d'utiliser "(inconnu)" ; fichier en cours d'utilisation) à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-FR;Q174943.

  • PRB : La connectivité de la base de données Microsoft Access échoue dans Active Server Pages à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-fr;Q253604.

  • PRB : Erreur « Impossible d'ouvrir le fichier inconnu » lors de l'utilisation d'Access à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-fr;Q166029.

[[Reference]80004005—Logon Failed() (Échec de connexion)]

Cette erreur survient lorsque vous utilisez Microsoft SQL Server et tentez de visualiser une page dynamique dans un navigateur Web ou en mode En direct.

Cette erreur est générée par SQL Server s'il refuse ou ne reconnaît pas le compte ou le mot de passe de connexion soumis (si vous utilisez une sécurité standard), ou si un compte Windows n'est pas associé à un compte SQL (si vous utilisez une sécurité intégrée).

Les solutions possibles sont les suivantes :

  • Si vous utilisez une sécurité standard, le nom de compte et le mot de passe peuvent être incorrects. Essayez le compte et le mot de passe de l'administrateur système (ID utilisateur : « sa » et aucun mot de passe), qui doivent être définis dans la ligne de chaîne de connexion. Les DSN ne conservent pas les noms d'utilisateurs et les mots de passe.

  • Si vous utilisez une sécurité intégrée, vérifiez le compte Windows appelant la page et localisez son compte SQL associé (s'il existe).

  • SQL Server n'autorise pas le trait de soulignement dans les noms de compte SQL. Si un utilisateur connecte manuellement le compte Windows IUSR_nommachine à un compte SQL portant le même nom, il s'ensuivra automatiquement un échec. Connectez un compte quelconque qui utilise un trait de soulignement à un nom de compte SQL qui n'en comporte aucun.

[[Reference]80004005—Operation must use an updateable query (L'opération doit utiliser une requête actualisable)]

Cette erreur survient lorsqu'un événement met à jour un jeu d'enregistrements ou y insère des données.

Les causes et les solutions possibles sont les suivantes :

  • Les autorisations définies pour le dossier contenant la base de données sont trop restrictives. Les droits d'accès IUSR doivent être définis sur lecture/écriture.

  • Le fichier de base de données lui-même ne dispose pas de droits d'accès en lecture/écriture complets.

  • La base de données est peut-être hors du répertoire Inetpub/wwwroot. Bien que vous puissiez visualiser et parcourir les données, vous risquez de ne pas pouvoir les mettre à jour, à moins que la base de données ne soit placée dans le répertoire wwwroot.

  • Le jeu d'enregistrements repose sur une requête ne pouvant pas être mise à jour. Les relations sont de bons exemples de requêtes ne pouvant être mises à jour dans une base de données. Restructurez vos requêtes de façon à ce qu'elles puissent être mises à jour.

    Pour plus d'informations sur cette erreur, voir « RBN : Erreur ASP 'La requête ne peut pas être mise à jour' lorsque vous mettez l'enregistrement de la table à jour » dans la base de connaissance Microsoft à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-fr;Q174640.

[[Reference]80040e07—Data type mismatchin criteria expression (Discordance de type de données dans l'expression de critères)]

Cette erreur survient lorsque le serveur essaie de traiter une page contenant un comportement de serveur Insérer l'enregistrement ou Mettre à jour l'enregistrement et que le comportement du serveur tente de définir la valeur d'une colonne Date/Heure d'une base de données Microsoft Access sur une chaîne vide ("").

Microsoft Access utilise une saisie des caractères rigoureuse ; le logiciel impose un jeu de règles strictes pour les valeurs de certaines colonnes. La valeur d'une chaîne vide d'une requête SQL ne peut pas être stockée dans une colonne Date/Heure Access. Actuellement, la seule solution connue consiste à éviter d'insérer ou de mettre à jour les colonnes Date/Heure Access avec des chaînes vides ("") ou avec toute autre valeur ne correspondant pas à la gamme de valeurs spécifiées pour le type de données.

[[Reference]80040e10—Too few parameters (Nombre de paramètres insuffisant)]

Cette erreur survient lorsqu'une colonne spécifiée dans votre requête SQL n'existe pas dans la table de la base de données. Vérifiez les noms des colonnes de votre base de données par rapport à votre requête SQL. Cette erreur est souvent due à une typographie erronée.

[[Reference]80040e10—COUNT fieldincorrect (Champ COUNT incorrect)]

Cette erreur survient lorsque vous prévisualisez une page contenant un comportement de serveur Insérer l'enregistrement dans un navigateur Web et que vous essayez de l'utiliser pour insérer un enregistrement dans une base de données Microsoft Access.

Vous tentez peut-être d'insérer un enregistrement dans un champ de base de données qui comporte un point d'interrogation(?) dans son nom de champ. Le point d'interrogation est un caractère spécial pour certains moteurs de bases de données, notamment Microsoft Access, et il ne doit pas être utilisé pour les noms de tables de bases de données ou de champs.

Ouvrez votre système de base de données, supprimez le point d'interrogation (?) des noms de champs et mettez à jour les comportements de serveur sur la page qui se rapporte à ce champ.

[[Reference]80040e14—Syntax error in INSERT INTO statement (Erreur de syntaxe dans instruction INSERT INTO)]

Cette erreur survient lorsque le serveur tente de traiter une page contenant un comportement de serveur Insérer l'enregistrement.

Cette erreur résulte généralement d'un ou de plusieurs problèmes, cités ci-dessous, relatifs au nom d'un champ, d'un objet ou d'une variable de la base de données :

  • Utilisation d'un mot réservé en tant que nom. La majorité des bases de données disposent d'un jeu de mots réservés. Par exemple, « date » est un mot réservé et ne peut pas être utilisé pour les noms de champs d'une base de données.

  • Utilisation de caractères spéciaux dans le nom, tels que ceux mentionnés ci-dessous :

    . / * : ! # & - ?

  • Utilisation d'un espace dans le nom.

    L'erreur peut également survenir lorsqu'un masque d'entrée est défini pour un objet de la base de données et que les données insérées ne sont pas conformes au masque.

    Pour résoudre le problème, évitez d'utiliser des mots réservés tels que « date », « name » « select », « where » et « level » lorsque vous spécifiez des noms de colonnes dans votre base de données. Eliminez également les espaces et les caractères spéciaux.

    Consultez les pages Web suivantes pour des listes détaillées de mots réservés dans les systèmes de bases de données courants.

  • Microsoft Access à l'adresse http://support.microsoft.com/default.aspx?scid=kb;fr-fr;Q209187

  • MySQL à l’adresse http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Reference]80040e21—ODBC error on Insert or Update (Erreur ODBC sur Insert ou Update)]

Cette erreur survient lorsque le serveur tente de traiter une page contenant un comportement de serveur Mettre à jour l'enregistrement ou Insérer l'enregistrement. La base de données ne peut pas gérer la mise à jour ou l'insertion que le comportement de serveur tente de réaliser.

Les causes et les solutions possibles sont les suivantes :

  • Le comportement de serveur tente de mettre à jour un champ de numérotation automatique d'une table de base de données ou d'insérer un enregistrement dans un champ de numérotation automatique. Les champs de numérotation automatique sont automatiquement complétés par le système de la base de données ; toute tentative faite pour les remplir manuellement est vouée à l'échec.

  • Le type de données que le comportement de serveur met à jour ou insère ne correspond pas à celui du champ de la base de données : insertion d'une date dans un champ booléen (oui/non), insertion d'une chaîne dans un champ numérique ou insertion d'une chaîne à la mise en forme incorrecte dans un champ Date/Heure.

[[Reference]800a0bcd—Either BOF or EOF is true (Soit BOF soit EOF est vrai)]

Cette erreur survient lorsque vous tentez de visualiser une page dynamique dans un navigateur Web ou en mode En direct.

Ce problème survient lorsque la page tente d'afficher des données à partir d'un jeu d'enregistrements vide. Pour le résoudre, appliquez le comportement de serveur Afficher la région au contenu dynamique à afficher sur la page, de la manière suivante :

  1. Sélectionnez le contenu dynamique de la page.

  2. Dans le panneau Comportements de serveur, cliquez sur le bouton Plus (+) et choisissez Afficher la région > Afficher la région si le jeu d'enregistrements n'est pas vide.

  3. Sélectionnez le jeu d'enregistrements dans lequel se trouve le contenu dynamique et cliquez sur OK.

  4. Répétez les étapes 1 à 3 pour chaque élément de contenu dynamique sur la page.

Résolution des messages d'erreur MySQL

Le message d'erreur courant suivant peut survenir lors d'un test de connexion à une base de données PHP avec MySQL 4.1 : « Client does not support authentication protocol requested. Consider upgrading MySQL client » (Ce client ne prend pas en charge le protocole d'authentification demandé. Il peut être nécessaire de mettre à niveau le client MySQL).

Il peut être nécessaire de revenir à une version précédente de MySQL ou d'installer PHP 5 et copier certaines bibliothèques de liaison dynamique (DLL). Vous trouverez des instructions détaillées dans la rubrique Configuration d'un environnement de développement PHP.

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?