Message d'erreur lorsque vous demandez une ASP page qui se connecte à une base de données Access dans IIS 7.0: « erreur de moteur de base de données Microsoft JET « 80004005 » »

Traductions disponibles Traductions disponibles
Numéro d'article: 926939 - Voir les produits auxquels s'applique cet article
important Cet article contient des informations qui vous indique comment aider les paramètres de sécurité inférieurs ou désactiver les fonctionnalités de sécurité sur un ordinateur. Vous pouvez modifier ces pour contourner un problème spécifique. Avant d'effectuer ces modifications, nous vous recommandons d'évaluer les risques associés à l'implémentation de cette solution de contournement dans votre environnement particulier. Si vous implémentez cette solution de contournement, prenez toutes les mesures supplémentaires pour protéger l'ordinateur.
Agrandir tout | Réduire tout

Symptômes

Envisagez le scénario suivant. Sur un serveur Web qui exécute Microsoft Internet Information Services (IIS) 7.0, vous ordinateur hôte une page active server (ASP) qui se connecte à une base de données. Le fournisseur de données de page ASP est le fournisseur de données Microsoft.Jet.OLEDB.4.0. La source de données de page ASP est un fichier de base de données (.mdb) Microsoft Access. Dans ce scénario, le message d'erreur suivant peut s'afficher lorsque vous demandez la page ASP :
Erreur du moteur de base de données Microsoft JET « 80004005 »
Erreur non spécifiée
note Vous rencontrer un message d'erreur similaires lorsque vous utilisez des opérations suivantes :
  • Une base de données Microsoft Access dans le format de fichier Access 2007 (.accdb)
  • Le fournisseur de données Microsoft.ACE.OLEDB.12.0

Cause

Ce problème peut se produire si IIS 7.0 est configuré pour charger le profil utilisateur actuel pour une identité du pool d'applications. Cela peut entraîner problèmes de compatibilité avec des applications héritées basé L'ASP et les applications en fonction de ADO car l'utilisateur actuel peut ne possède pas les autorisations suffisantes écrire dans le répertoire temporaire.

Résolution

Pour résoudre ce problème, vous devez ajouter les entrées de contrôle d'accès correct vers le répertoire temporaire pour l'identité de processus. Pour ce faire, suivez les étapes de votre système d'exploitation.

Windows Server 2008 et Windows Vista avec Service Pack 1 ou versions ultérieures

Pour résoudre ce problème sur un serveur Web IIS 7.0 qui s'exécute sur Windows Server 2008 ou Windows Vista avec Service Pack 1 ou version ultérieure, procédez comme suit :
  1. Cliquez sur Démarrer , sur Tous les programmes , sur Accessoires , cliquez avec le bouton droit sur invite et puis cliquez sur Exécuter en tant qu'administrateur .
  2. Lorsque vous êtes invité pour un mot de passe administrateur ou à confirmer une opération, entrez le mot de passe ou cliquez sur Continuer .
  3. Tapez la commande suivante et appuyez sur ENTRÉE :
    icacls %SystemDrive%\Windows\Temp /grant Users:(CI)(S, WORD, ACTIVE DIRECTORY, X)

    note Cette commande permet à chaque utilisateur de créer des fichiers et des répertoires dans le répertoire temporaire.
  4. Tapez la commande suivante et appuyez sur ENTRÉE :
    icacls %SystemDrive%\Windows\Temp /grant "CREATOR OWNER":(OI)(CI)(E / S)(F)

    note L'utilisateur qui crée un fichier ou un répertoire dans le répertoire temporaire est le propriétaire créateur. Le créateur propriétaire entrée de contrôle d'accès accorde un contrôle complet utilisateur sur le fichier ou sur le répertoire. Autres utilisateurs Impossible d'accéder ces fichiers et répertoires car ils ne sont pas le propriétaire créateur.
Windows Vista RTM

Pour résoudre ce problème sur un serveur Web IIS 7.0 qui s'exécute sur Windows Vista RTM, procédez comme suit :
note Par défaut sur Windows Vista RTM, l'identité de processus est Service réseau, et le répertoire temporaire est windir%\ServiceProfiles\NetworkService\AppData\Local\Temp %.
  1. Cliquez sur Démarrer , sur Tous les programmes , sur Accessoires , cliquez avec le bouton droit sur invite et puis cliquez sur Exécuter en tant qu'administrateur .
  2. Lorsque vous êtes invité pour un mot de passe administrateur ou à confirmer une opération, entrez le mot de passe ou cliquez sur Continuer .
  3. Tapez la commande suivante et appuyez sur ENTRÉE :
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S, WORD, ACTIVE DIRECTORY, X)

    note Cette commande permet à chaque utilisateur de créer des fichiers et des répertoires dans le répertoire temporaire.
  4. Tapez la commande suivante et appuyez sur ENTRÉE :
    icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(E / S)(F)

    note L'utilisateur qui crée un fichier ou un répertoire dans le répertoire temporaire est le propriétaire créateur. L'entrée de contrôle d'accès créateur propriétaire accorde un contrôle total utilisateur sur le fichier ou le répertoire. Autres utilisateurs Impossible d'accéder ces fichiers et répertoires car ils ne sont pas le propriétaire créateur.

Contournement

Pour résoudre ce problème, utilisez la méthode décrite dans la section « Résolution ». Toutefois, si vous ne souhaitez pas Ajout d'entrées de contrôle d'accès dans l'annuaire temporaire pour l'identité de processus, vous pouvez contourner le problème en désactivant la propriété loadUserProfile pour le pool d'applications. Lorsque cette propriété est désactivée, IIS 7.0 ne charge pas le profil utilisateur actuel pour le pool d'applications.

important Si vous désactivez cette propriété, un risque de sécurité peuvent être créé. Assurez-vous que vous comprendre et évaluer les risques avant d'implémenter cette solution de contournement.

Pour désactiver la propriété loadUserProfile pour le pool d'applications, modifiez le fichier ApplicationHost.config. L'exemple suivant illustre comment procéder.
<applicationPoolDefaults>
    <processModel identityType="NetworkService" loadUserProfile="false" />
</applicationPoolDefaults> 

Références

Pour plus d'informations sur temporaire répertoire autorisations lorsque vous exécutez une requête de base de données dans une page ASP, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances :
315456 Vous recevez un message d'erreur de résultats de base de données lorsque vous vous connectez à base de données à partir d'une page ASP dans FrontPage
Avec ASP classique de bases de données Microsoft Access sur IIS 7.0 et IIS 7.5
http://learn.iis.net/page.aspx/563/using-classic-asp-with-microsoft-access-databases-on-iis-70-and-iis-75/

Propriétés

Numéro d'article: 926939 - Dernière mise à jour: jeudi 12 mars 2009 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Internet Information Services 7.0
Mots-clés : 
kbmt kbtshoot kbprb KB926939 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 926939
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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