Partager via


Qu’est qu’un verrou ?

Le verrouillage est le processus par lequel un SGBD restreint l’accès à une ligne dans un environnement multi-utilisateur. Lorsqu’une ligne ou une colonne est verrouillée exclusivement, les autres utilisateurs ne sont pas autorisés à accéder aux données verrouillées tant que le verrou n’est pas libéré. Cela garantit que deux utilisateurs ne peuvent pas mettre à jour simultanément la même colonne dans une ligne.

Les verrous peuvent être très coûteux du point de vue des ressources et doivent être utilisés uniquement lorsque cela est nécessaire pour préserver l’intégrité des données. Dans une base de données où des centaines ou des milliers d’utilisateurs peuvent essayer d’accéder à un enregistrement toutes les secondes, comme une base de données connectée à Internet, le verrouillage inutile peut rapidement entraîner des performances plus lentes dans 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 Recordset pour spécifier le type de verrouillage que le fournisseur doit utiliser lors de son ouverture. Lisez la propriété pour retourner le type de verrouillage utilisé sur un objet Recordset ouvert.

Les fournisseurs peuvent ne pas prendre en charge tous les types de verrous. Si un fournisseur ne peut pas prendre en charge le paramètre LockType demandé, il utilise un autre type de verrouillage. Pour déterminer les fonctionnalités de verrouillage réelles disponibles dans un objet Recordset, utilisez la méthode Supports avec adUpdate et adUpdateBatch.

Le paramètre adLockPessimistic n’est pas pris en charge si la propriété CursorLocation est définie sur adUseClient. Si une valeur non prise en charge est définie, aucune erreur ne se produit ; le lockType pris en charge le plus proche sera utilisé à la place.

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

Cette section contient les rubriques suivantes :