Le message « Le nombre de verrous disponibles pour le partage des fichiers est dépassé… » s'affiche au cours du traitement d'une transaction volumineuse

Le support d'Office 2003 a pris fin

Microsoft a mis fin au support d'Office 2003 le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

IMPORTANT : cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder et assurez-vous que vous savez le restaurer en cas de problème. Pour plus d'informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
256986 Description du Registre de Microsoft Windows
Symptômes
Lorsqu'un ou plusieurs utilisateurs traitent de nombreuses transactions dans un environnement multi-utilisateur, ces transactions peuvent échouer avec le message d'erreur suivant :
Le nombre de verrous disponibles pour le partage des fichiers est dépassé. Augmentez l'entrée de Registre MaxLocksPerFile.
Cause
L'erreur se produit si le nombre de verrouillages requis pour exécuter une transaction dépasse le nombre maximal de verrouillages par fichier.
Contournement
AVERTISSEMENT : toute mauvaise utilisation de l'Éditeur du Registre peut générer des problèmes sérieux, pouvant vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que les problèmes résultant d'une mauvaise utilisation de l'Éditeur du Registre puissent être résolus. Vous assumez l'ensemble des risques liés à l'utilisation de cet outil. Pour contourner ce problème, augmentez le nombre maximal de verrouillages par fichier. Pour cela, appliquez l'une des méthodes suivantes :

Méthode 1 : Définition de la clé de Registre sur MaxLocksPerFile pour augmenter le nombre maximal de verrouillages par fichier

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Tapez regedit, puis cliquez sur OK.
  3. Dans l'Éditeur du Registre, recherchez la clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
  4. Dans le volet droit de l'Éditeur du Registre, double-cliquez sur MaxLocksPerFile.
  5. Dans la boîte de dialogue Édition de la valeur DWORD, cliquez sur Décimal.
  6. Modifiez la valeur de la zone Données de la valeur comme requis, puis cliquez sur OK.
Remarque Cette méthode modifie le paramètre de Registre Windows pour toutes les applications qui utilisent la version 4.0 du moteur de base de données Microsoft Jet.

Méthode 2 : Utilisation de la méthode SetOption pour modifier provisoirement MaxLocksPerFile

Remarque L'exemple de code fourni dans cet article utilise des objets Microsoft Data Access. Pour que ce code fonctionne correctement, vous devez référencer la bibliothèque d'objets Microsoft DAO 3.6. Pour cela, cliquez sur Références dans le menu Outils de Visual Basic Editor, puis assurez-vous que la case à cocher Bibliothèque d'objets Microsoft DAO 3.6 est activée. La méthode SetOption remplace temporairement le nombre de verrouillages par défaut par fichier. Vous définissez le nombre de verrouillages par défaut par fichier lorsque vous définissez la clé de Registre MaxLocksPerFile . Vous définissez la nouvelle valeur à l'aide de la méthode SetOption. La nouvelle valeur est valide jusqu'à ce que vous fermiez l'objet DBEngine. Pour appliquer la méthode 2, procédez comme suit :
  1. Ouvrez Microsoft Access.
  2. Ouvrez une base de données, puis appuyez sur Alt+F11 pour lancer l'éditeur Visual Basic.
  3. Dans la fenêtre Microsoft Visual Basic - <Nom de la base de données> - [<Nom du module> (Code)], cliquez sur Fenêtre Exécution dans le menu Affichage.
  4. Dans Fenêtre Exécution, entrez le code suivant
    DAO.DBEngine.SetOption dbmaxlocksperfile				,15000
  5. Appuyez sur la touche ENTRÉE pour exécuter la ligne de code.

    Remarque Cette opération définit provisoirement la valeur MaxLocksPerFile sur 15 000.
Pour traiter des transactions volumineuses, définissez la valeur MaxLocksPerFile de façon à l'adapter à vos besoins, puis exécutez les transactions dans la session.

Les modifications que vous apportez au paramètre MaxLocksPerFile en utilisant la méthode SetOption sont uniquement disponibles pour la session en cours.
Plus d'informations
Le paramètre MaxLocksPerFile détermine le nombre maximal de verrouillages placé par Microsoft Jet sur un fichier. La valeur MaxLocksPerFile est définie par défaut sur 9 500. Toutefois, ne modifiez pas cette valeur si vous travaillez sur un serveur Novell NetWare, car le nombre maximal de verrouillages d'enregistrements de serveur par connexion est de 10 000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
305995 PROBLÈME : Erreur « 3050 Impossible de verrouiller le fichier » lors de la connexion à une base de données Jet sur un serveur Novell
Références
Pour plus d'informations, reportez-vous aux articles suivants de la Base de connaissances Microsoft.
198633 ACC2000 : Erreur « Le nombre de verrous disponibles pour le partage des fichiers est dépassé » au cours d'une synchronisation
209940 ACC2000 : Message d'erreur : Espace disque insuffisant ou Mémoire insuffisante.
ACC2003 ACC2007
Propriétés

ID d'article : 815281 - Dernière mise à jour : 05/16/2007 16:43:48 - Révision : 5.0

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002, Microsoft Access 2000 Standard Edition

  • kberrmsg kbregistry kbprb KB815281
Commentaires