Bonjour,
Un bout de la question dépend peut etre d'ADO.net, mais ca me semblait plus logique de venir là, vous me direz si je me trompe ...
Depuis un programme .net nous ouvrons une connexion, exécutons un select, lisons 3 lignes, faisons pause
puis on ouvre une autre connexion, on démarre une transaction, on delete la table, puis on dépause la 1ère connexion
et là moi je trouve ca surprenant mais on arrive encore à lire des lignes ... et je ne pense pas avoir activé de snapshot quelquepart ...
le delete a pu se finir, nous laissons la connexion ouverte sans commit ou rollback, pensant vérrouiller la table
et le select est fait après un SET ISOLATION LEVEL READ COMMITTED
si on tente d'exécuter la requete après le delete on a bien un timeout à cause du verrouillage
l'origine de ce test c'est qu'on sait que le positionnement à la ligne suivante peut planter s'il y verrouillage par une autre connexion, ca nous est déjà arrivé à priori et on veut voir ce qui se passe en détail ...
avec ado.net sur le select c'est executereader pour exécuter puis un while .read pour lire chaque ligne
Merci de m'éclairer sur ce sujet
Partager