Einzelnen Beitrag anzeigen

RSE

Registriert seit: 26. Mär 2010
254 Beiträge
 
Delphi XE Enterprise
 
#1

dbExpress Transaktionsmanagement (und Firebird)

  Alt 26. Jun 2012, 16:04
Datenbank: Firebird • Version: 2.5 • Zugriff über: dbExpress
Hallo,

ich arbeite mich gerade neu in dbExpress unter Delphi XE ein. Dort habe ich in der Hilfe zu RollbackFreeAndNil gelesen:
Zitat:
Alle aktiven Transaktionen, die nach dieser Transaktion begonnen wurden, werden auch zurückgesetzt und freigegeben.
Das simuliert ja quasi verschachtelte Transaktionen (die äußere Transaktion kann nur glücken, wenn alle innenern Transaktionen glücken). Falls der Server aber tatsächlich verschachtelte Transaktionen nativ unterstützt, würde ich das ja bestimmt auch irgendwie mitbekommen - ist da nicht irgendwas doppelt gemoppelt?
Das es verschachtelte Transaktionen überhaupt gibt, war mir bisher gar nicht in den Sinn gekommen. Ich war immer der Meinung, dass zwei nacheinander gestartete Transaktionen vollkommen unabhängig voneinander sind.
  1. Wie läuft das zwischen dbExpress und Firebird mit diesen "geschachtelten Transaktionen" tatsächlich?
  2. Wie startet man mit dbExpress 2 unabhängige Transaktionen? Geht das nur über einzelne Verbindungen? Ist Firebird bzgl. der Verbindungen pro Client begrenzt?
Falls es zu den Fragen bereits Antworten gibt, die ich nicht gefunden habe, dann bitte ich um einen Link und bin sehr gerne bereit mir diesen zu Gemüte zu führen. Leider ergab meine vorher durchgeführte Suche allerdings keine brauchbaren Ergebnisse. Vielleicht benutze ich aus Unkenntnis nicht die richtigen Suchwörter.

OT: Was mich außerdem noch etwas stört an dbExpress ist das automatische Verbinden zum Server, wenn ich die Query öffne. Kann man das irgendwie abstellen? Ich hätte lieber einen auswertbaren Hinweis/Fehler wie bei TIBDatabase möglich. Oder bin ich mit den Anforderungen (Firebird + Verbindungs- und Transaktionsmanagement selbst in die Hand nehmen) mit den IB-Komponenten besser beraten?
"Seit er seinen neuen Computer hat, löst er alle seine Probleme, die er vorher nicht hatte."
  Mit Zitat antworten Zitat