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

salimdz2004 Messages postés 68 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 janvier 2011 - 22 nov. 2007 à 17:00
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 22 déc. 2007 à 18:41
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

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
24 nov. 2007 à 23:29
Est-ce que message occasionne des désordres dans les données ou bloque l'application ?

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
27 nov. 2007 à 19:22
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
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 nov. 2007 à 13:00
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+
0
salimdz2004 Messages postés 68 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 janvier 2011
29 nov. 2007 à 01:07
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+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salimdz2004 Messages postés 68 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 janvier 2011
4 déc. 2007 à 21:54
salut,
j'ai changer le type de verrou à pessimiste dans ADOTable
mais il faut un peut de temps pour voir les résultats
0
salimdz2004 Messages postés 68 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 janvier 2011
11 déc. 2007 à 22:33
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é,
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 déc. 2007 à 17:31
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
0
salimdz2004 Messages postés 68 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 janvier 2011
21 déc. 2007 à 21:44
salut,
merci pour votre reponse
je n'utilise pas les transactions
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
22 déc. 2007 à 18:41
"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
0
Rejoignez-nous