Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#1

Transaktion innerhalb Transaktion...IBDAC

  Alt 3. Feb 2012, 08:20
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
Moin alle...

ich habe ein DBFramework gebastelt was den kompletten Zugriff auf die DB kapselt. Von außen kann ich eine Transaktion erzeugen, committen oder zurücknehmen. Die Transaktion wird als privates Feld des DB Frameworks verwaltet und den Querys zugeordnet.
Bei einfachen Objekten kein Problem. Ich kann von außen steuern wieviele und verschiedene Objekte in einer Transaktion laufen. Jetzt gibt es aber auch Objekte welche in verschiedene Tabellen schreiben. Dazu hatte ich schon in der jeweiligen Prozedure eine Transaktion für das Objekt gemacht.

Wie kann ich eine "globale Transaktion" erzeugen und innerhalb dieser eine zusätzliche laufen lassen. Im Prinzip ist die Frage welche Transaktion ich welcher Query zuordne.

Mögliche Lösung:
Unterscheidung im DB ob FTransaction nil ist und entsprechend die von außen erzeugte Transaktion nutzen oder die innerhalb der Prozedur erzeugte. Ist das sauber ?

Zum Verständnis:
Wenn ich nur 1 einfaches Objekt dem DB Framework übergebe brauche ich von außen keine Transaktion. Wenn ich eine Liste abarbeite hätte ich gern die ganze Liste in einer Transaktion. Deshalb die externe Erzeugung.

Danke für Info´s
  Mit Zitat antworten Zitat