Précédent   Forum des professionnels en informatique > Bases de données > Firebird > Débuter
Débuter Forum d'entraide pour débuter avec Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2004, 10h04   #1
Futur Membre du Club
 
Inscription : février 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 43
Points : 19
Points : 19
Par défaut [firebird 1.5] Message d'erreur

Bonjour,
je teste une procedure stockée sur ibExpert
et j'ai ce message d'erreur:

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
lock conflict on no wait transaction.
deadlock.
update conflicts with concurrent update.

De quoi ca pourrait venir?? Probleme de transaction?
iguanevif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2004, 10h16   #2
Membre actif
 
Inscription : juin 2002
Messages : 379
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 379
Points : 168
Points : 168
Vous avez certainement une transaction en attente d'etre validee ou annulee qui bloque votre processus.
Quand je ne sais plus ou j'en suis et que je n'ai a priori aucune donnee en attente d'etre validee, je deconnecte la base et je la reconnecte. Et si besoin, je stop le serveur et je le redemarre.
kase74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2004, 10h41   #3
Futur Membre du Club
 
Inscription : février 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 43
Points : 19
Points : 19
C'est bien ce que je pensais.
Merci beaucoup de ton aide

Je dois avoir des problemes de transaction.

J'ai une PS Aqui fait des update sur une table.

Elle appelle une autre PS B qui effectue des update sur cette table.

Et la PS A refait des update sur la même table.

Ca ne devrait pas poser de probleme normalement, non?
iguanevif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2004, 12h12   #4
Membre actif
 
Inscription : juin 2002
Messages : 379
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 379
Points : 168
Points : 168
si les updates s'entrecroisent, et veulent mettre a jour le meme enregistrement, il y a un probleme :
les transactions ne voient pas les modifs qui ont ete faites en amont par une autre transaction puisque celle ci n'ait pas encore validee !
Tres exactement, il doit y avoir un enregistrement qui est verouille pour UPDATE et attends un COMMIT. Et derriere il y a une autre transaction qui essaie d'updater ce meme enregistrement, reessaie, reessaie, reessaie, ... , et au bout de n essais echoues FB arrete le chien de tourner en rond et renvoie le message "...lock conflict on no wait transaction"
Il faudrait me donner les codes des deux PS pour voir ca de pres.

P.S. : Post a prendre avec du recul car je suis justement en ce moment en train de me battre avec ces fichus transactions, et j'avoue que ce n'est pas encore absolument claire dans mon esprit. Mais il ya surement une bonne ame qui va valider ou corriger mes dires, un peu de patience.
kase74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2004, 12h52   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par iguanevif
C'est bien ce que je pensais.
Merci beaucoup de ton aide

Je dois avoir des problemes de transaction.

J'ai une PS Aqui fait des update sur une table.

Elle appelle une autre PS B qui effectue des update sur cette table.

Et la PS A refait des update sur la même table.

Ca ne devrait pas poser de probleme normalement, non?
Exacte ca ne pause pas de problème et heureusement d'ailleur. Pour la simple raison que vos deux PS sont dans une et même transaction.

Donc votre problème vient d'un conflit de mise à jour sur un même enregistrement de deux transcations différentes.
Donc dans votre cas soit vous avez modifié un enregistrement avec IBExpert sans avoir commité et puis lancé votre PS soit la modif a été faite par un autre programme ?

Fermez tous vos programmes et IBExpert.
Réouvrez IBExpert et lancez votre PS qui pose problème directement, normalement vous n'allez plus avoir de problème.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h26.


 
 
 
 
Partenaires

Hébergement Web