Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 03/03/2006, 09h14   #1
Invité régulier
 
Inscription : juillet 2005
Messages : 23
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 23
Points : 8
Points : 8
Par défaut comment résoudre un deadlock sur interbase?

bonjour,

actuellement avec ma base interbase (la version 7.5)
j'ai des fois des soucis de deadlock lorsque j'essaye de
faire des updates sur ma base des fois j'ai droit au message
d'exception :

deadlock update conflicts with concurrent update

ma question est de savoir si il existe un mécanisme
de verrou automatique sur ce système de base pour
empêcher ce phénomène (je crois que les bases
Oarcle gère ce problème)

merci d'avance pour votre aide
sher56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 11h35   #2
Futur Membre du Club
 
Inscription : octobre 2005
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 16
Points : 18
Points : 18
il te faut gérer les trasnsactions à la mano.
Interbase/Firebird est un moteur de base de donénes soumis à transaction.
Par contre si tu le stipules pas explicitement tu risques effectivement de te trouver confronter à des deadlock (sommes tout très rare).
michel_ballasse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 18h17   #3
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
Ce phénomène se produit si des transactions agissent sur les mêmes données au même moment.

Normalement Interbase introduit des attentes pour les transactions qui risquent d'entrer en conflit avec celles en cours (notion de WAIT qui peut être paramétrée entre autre dans le driver ODBC ). L'option "WAIT" si elle est désactivée peut amener à des deadlocks.

Si problème réccurrent augmenter le niveau d'isolement des transactions. le mode SERIALIZABLE doit éviter les deadlocks, je pense.
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 15h42   #4
Invité régulier
 
Inscription : juillet 2005
Messages : 23
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 23
Points : 8
Points : 8
Citation:
Envoyé par lio33
Ce phénomène se produit si des transactions agissent sur les mêmes données au même moment.

Normalement Interbase introduit des attentes pour les transactions qui risquent d'entrer en conflit avec celles en cours (notion de WAIT qui peut être paramétrée entre autre dans le driver ODBC ). L'option "WAIT" si elle est désactivée peut amener à des deadlocks.

Si problème réccurrent augmenter le niveau d'isolement des transactions. le mode SERIALIZABLE doit éviter les deadlocks, je pense.
comment fait t'on pour savoir si l'option WAIT est désactivée ou pas?
sher56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2006, 11h17   #5
Membre habitué
 
Inscription : octobre 2003
Messages : 483
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : octobre 2003
Messages : 483
Points : 136
Points : 136
Personnellement mes applications utilisent un driver ODBC EasySoft. Lors de la création d'une source de données ODBC il est possible de préciser si l'on met en oeuvre cette fonctionnalité des transactions d'Interbase.

Selon son environnement de développement je pense qu'il s'agit d'un paramètre à régler lors de la définition du niveau d'isolement des transactions.
lio33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h55.


 
 
 
 
Partenaires

Hébergement Web