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.
- Wie läuft das zwischen dbExpress und Firebird mit diesen "geschachtelten Transaktionen" tatsächlich?
- 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."