Partager via


Qu’est-ce qu’un verrou ?

S’applique à : Access 2013, Office 2013

Le verrouillage est le processus par lequel un SGBD limite l'accès à une ligne dans un environnement multi-utilisateur. Lorsqu'une ligne ou une colonne est verrouillée en mode exclusif, les autres utilisateurs ne sont pas autorisés à accéder aux données avant que le verrou soit libéré. Il s'agit d'une procédure de sécurité qui permet d'éviter la mise à jour simultanée de la même colonne d'une ligne par deux utilisateurs.

Les verrous peuvent être très coûteux du point de vue des ressources et ne doivent être utilisés que lorsque cela est nécessaire pour préserver l’intégrité des données. Dans une base de données dans laquelle des centaines ou des milliers d’utilisateurs peuvent essayer d’accéder à un enregistrement toutes les secondes( par exemple une base de données connectée à Internet), un verrouillage inutile peut rapidement ralentir les performances de votre application.

Vous pouvez contrôler la façon dont la source de données et la bibliothèque de curseurs ADO gèrent l'accès concurrentiel en choisissant l'option de verrouillage appropriée.

Définissez la propriété LockType avant d'ouvrir un objet Recordset pour spécifier le type de verrouillage que le fournisseur doit utiliser pour son ouverture. Lisez la propriété pour obtenir le type de verrouillage actuellement utilisé sur un objet Recordset ouvert.

Certains fournisseurs ne prennent pas tous les types de verrou en charge. Si un fournisseur ne prend pas en charge le paramètre LockType requis, il lui substituera automatiquement un autre type de verrou. Utilisez la méthode Supports avec adUpdate et adUpdateBatch pour déterminer les fonctionnalités de verrouillage disponibles dans un objet Recordset.

Le paramètre adLockPessimistic n'est pas pris en charge si la propriété CursorLocation a la valeur adUseClient. Si vous définissez une valeur non prise en charge, aucune erreur n'est générée ; elle sera simplement remplacée par la valeur de LockType la plus similaire prise en charge.

La propriété LockType est accessible en lecture/écriture lorsque l'objet Recordset est fermé, et en lecture seule lorsqu'il est ouvert.

Cette section inclut la rubrique suivante :