Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour résoudre le problème de la concurrence réduite dans les curseurs, ODBC expose quatre types différents de concurrence de curseur :
Lecture seule Le curseur peut lire les données, mais ne peut pas mettre à jour ou supprimer des données. Il s'agit du type de concurrence par défaut. Bien que le SGBD verrouille des lignes pour appliquer les niveaux d’isolation Lecture répétable et Serializable, il peut utiliser des verrous de lecture au lieu de verrous d’écriture. Cela entraîne une concurrence plus élevée, car d’autres transactions peuvent au moins lire les données.
Verrouillage Le curseur utilise le niveau de verrouillage le plus bas nécessaire pour s'assurer qu'il peut mettre à jour ou supprimer des lignes dans le jeu de résultats. Cela entraîne généralement des niveaux de concurrence très faibles, surtout aux niveaux d'isolation Repeatable Read et Serializable des transactions.
Accès concurrentiel optimiste à l’aide de versions de lignes et accès concurrentiel optimiste à l’aide de valeurs Le curseur utilise l’accès concurrentiel optimiste : il met à jour ou supprime les lignes uniquement s’ils n’ont pas changé depuis leur dernière lecture. Pour détecter les modifications, il compare les versions de ligne ou les valeurs. Il n’existe aucune garantie que le curseur sera en mesure de mettre à jour ou de supprimer une ligne, mais que la concurrence est beaucoup plus élevée que lors du verrouillage. Pour plus d’informations, consultez la section suivante, Accès concurrentiel optimiste.
Une application spécifie le type d’accès concurrentiel qu’elle souhaite utiliser avec l’attribut d’instruction SQL_ATTR_CONCURRENCY. Pour déterminer les types pris en charge, il appelle SQLGetInfo avec l’option SQL_SCROLL_CONCURRENCY.