Échec du contrôle de simultanéité optimiste. La ligne a été modifiée en dehors d

Signaler
Messages postés
68
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2011
-
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
-
bonjour,
j'ai un programme Client / Serveur qu'est utilise un base de donnée SQL Server,
j'ai ce message d'erreur de temps en temps "Échec du contrôle de simultanéité optimiste. La ligne a été modifiée en dehors de ce curseur"

je cherche à trouvé une solution à ca ou comment je peut faire suivi d'exception global pour évité ce message
merci d'avance

9 réponses

Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Est-ce que message occasionne des désordres dans les données ou bloque l'application ?

cantador
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
si tu as un blocage, c'est gênant tu ne peux même pas t'en sortir avec un simple Try Except End.
je te le dis tout de suite, ce type de message n'est pas simple du tout à traiter :
"...la ligne a été modifiée en dehors de ce curseur"..
Cette partie du texte semble indiquer que vous êtes plusieurs à intervenir sur un même enregistrement.
Autrement dit, il faut que tu essaies de changer le mode de verrou (pessimiste etc..) et aussi il te faut absolument la doc(que je n'ai pas..) relative à ce conflit car chaque base possède sa propre technique.

bon courage
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Salut,

alors je site cantador :
"Cette partie du texte semble indiquer que vous êtes plusieurs à intervenir sur un même enregistrement.
Autrement dit, il faut que tu essaies de changer le mode de verrou
(pessimiste etc..) et aussi il te faut absolument la doc(que je n'ai
pas..) relative à ce conflit car chaque base possède sa propre
technique."

Le problème est tout à fait celui-ci!!!
La solution de Cantador est bonne, mais je pense que tu peux aussi gérer cette erreur de transaction pour que ton appli ne plante pas.
A+
Messages postés
68
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2011

merci pour vous réponse,
vous réponse me donne une idée, j'ai essayer de chercher un doc qui traite ca
merci
a+
Messages postés
68
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2011

salut,
j'ai changer le type de verrou à pessimiste dans ADOTable
mais il faut un peut de temps pour voir les résultats
Messages postés
68
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2011

salut
la solution n'a pas marche (type de verrou à pessimiste),
le programme il se bloque le temps qu'un 2 poste veux l'exécuté,
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Il faut regarder la doc sur les transactions et ce qu'ils préconisent..
Peut-être dans ton cas, faut-il prévenit l'utilisateur qu'une transaction est en cours et qu'il attende..

cantador
Messages postés
68
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2011

salut,
merci pour votre reponse
je n'utilise pas les transactions
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
"je n'utilise pas les transactions"...
Ben c'est pa très bon..

Une application multi-utilisateurs en réseau nécessite l'emploi du mode transactionnel.
Cela permet de régler justement les soucis de conflits et de mieux sécuriser les données.(notamment grâce au RollBack)

Bon Noël

cantador