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 25/04/2005, 11h26   #1
DMO
Membre confirmé
 
Avatar de DMO
 
Inscription : février 2004
Messages : 289
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 289
Points : 269
Points : 269
Par défaut Où gérer les transactions avec Firebird ?

Bonjour,

J'utilise Firebird 1.5 et je gère actuellement les transactions depuis mon application cliente (en Delphi).

J'ai lu avec intérêt les cours passionnants de sqlpro (entre autres), et je suis embêté de ne pas arriver à suivre une de ses recommandations au sujet des transactions :
Citation:
(...) on veillera à placer les transactions (...) dans une procédure stockée (l'idéal en terme de sécurité et d'intégrité) (...)
Or il me semble que cela est impossible actuellement avec Firebird : on ne peut gérer les transactions que dans des scripts, ou depuis un client.

Est-ce que je me trompe ? Ou y a-t-il une autre façon de faire ? Vos avis éclairés sur ce point précis sont les bienvenus.

Merci d'avance.
DMO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 08h48   #2
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
Par défaut Re: Où gérer les transactions avec Firebird ?

Exacte les transactions sont gérés uniquement par le client.
Par contre dans vos PS vous pouvez très bien gérer des blocks exception/erreur afin d'annuler une partie des traitements et en faire d'autre en cas d'erreur.

Ce qui revient au final a avoir des sous transactions. Sachant qu'au final c'est le client qui valide ou annule l'ensemble. (C'est la moindre des choses car je ne vois pas comment une PS pourrait décider de valider ou annuler une transaction qui contiendrait peu etres d'autres traitement dont elle n'aurait même pas connaissance)

Donc la philosophie c'est que c'est celui qui commence la transaction qui est le mieux placé pour juger s'il faut annuler ou valider les traitements qu'elle contiend. (Chacun s'occupe de ses oignons )
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 09h21   #3
DMO
Membre confirmé
 
Avatar de DMO
 
Inscription : février 2004
Messages : 289
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 289
Points : 269
Points : 269
Par défaut Re: Où gérer les transactions avec Firebird ?

Citation:
vous pouvez très bien gérer des blocks exception/erreur afin d'annuler une partie des traitements et en faire d'autre en cas d'erreur
En effet c'est ce que je vais faire.

Citation:
c'est celui qui commence la transaction qui est le mieux placé pour juger s'il faut annuler ou valider les traitements
J'avais effectivement envisagé de commencer/terminer une transaction le tout à l'intérieur d'une PS, mais ce n'est bien pas la philosophie.

Citation:
Chacun s'occupe de ses oignons
OK je retourne donc aux miens.


Merci pour la clarté de votre réponse.
DMO 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 13h55.


 
 
 
 
Partenaires

Hébergement Web