OVH Cloud OVH Cloud

Info - Échec du contrôle de la concurrence d'accès optimisée. La ligne a été modifiée en dehors de ce curseur.

2 réponses
Avatar
M L
Bonjour,

J'obtiens le message d'erreur suivant dans mon application :

DB-Library Msg_Handle 16934: Échec du contrôle de la concurrence d'accès
optimisée. La ligne a été modifiée en dehors de ce curseur.

La requête qui a provoqué ce message d'erreur est un Update sur une table de
l'application.

Ceci vous inspire t'il ?
Quelles pourraient être les origines de ce message d'erreur ?

Comment peut t'on éviter ce type d'erreur ?

Je pense à un conflit d'accès simultané sur un même enregistrement.

D'avance merci pour toute information sur le sujet.

ML

2 réponses

Avatar
Fred BROUARD
par défaut le niveau d'isolation de MS SQL Server est READ COMMITED ce qui
n'empêche pas les lignes validées d'apparaitre en cours de traitement.

Il faut donc piloter un niveau d'isolation plus élevé dans ton cuserur
(REPEATABLE READ) mais le mieux est de se passer de curseur et de faire cela
sous forme de requête globale.

Nota : le cuseur peut être encapsulé dans un objet de visu que tu modifie.

A lire :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.6
http://sqlpro.developpez.com/cours/sqlaz/techniques/#L1.4

A +

M L a écrit:
Bonjour,

J'obtiens le message d'erreur suivant dans mon application :

DB-Library Msg_Handle 16934: Échec du contrôle de la concurrence d'accès
optimisée. La ligne a été modifiée en dehors de ce curseur.

La requête qui a provoqué ce message d'erreur est un Update sur une table de
l'application.

Ceci vous inspire t'il ?
Quelles pourraient être les origines de ce message d'erreur ?

Comment peut t'on éviter ce type d'erreur ?

Je pense à un conflit d'accès simultané sur un même enregistrement.

D'avance merci pour toute information sur le sujet.

ML





--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Med Bouchenafa
Ce message d'erreur est renvoyée par la DB-Lib
Pourquoi continuer à utiliser cette librairie alors que Microsoft conseille de ne plus l'utiliser
depuis la version 7.0
C'est probablement une ancienne application alors auquel cas elle a dû fonctionner correctement
jusqu'à ce jour et le message d'erreur fait peut-être suite à un changement quelconque

--
Bien cordialement
Med Bouchenafa

"M L" a écrit dans le message de news:
#
Bonjour,

J'obtiens le message d'erreur suivant dans mon application :

DB-Library Msg_Handle 16934: Échec du contrôle de la concurrence d'accès
optimisée. La ligne a été modifiée en dehors de ce curseur.

La requête qui a provoqué ce message d'erreur est un Update sur une table de
l'application.

Ceci vous inspire t'il ?
Quelles pourraient être les origines de ce message d'erreur ?

Comment peut t'on éviter ce type d'erreur ?

Je pense à un conflit d'accès simultané sur un même enregistrement.

D'avance merci pour toute information sur le sujet.

ML