Thema: Delphi Transaction-Management

Einzelnen Beitrag anzeigen

smudo

Registriert seit: 6. Sep 2005
Ort: Cottbus
362 Beiträge
 
Delphi XE2 Professional
 
#1

Transaction-Management

  Alt 7. Okt 2008, 14:07
Datenbank: Interbase/Firebird • Version: 6.2/2.0 • Zugriff über: IBX
Ist-Analyse: Wir benutzen Datenzugriffsklassen welche auf eine DB-Connection und eine dazugehörige Transaction zeigen. Nachteil: Alle Klassen nutzen die selbe Transaktion. Das wirkt sich negativ aus, wenn beispielsweise über COM auf das Programm zugegriffen wird, da keine getrennte Transactionsteuerung möglich ist.

Ziel: Die Datenzugriffsklassen sollen aus einem Transactions-Pool eine freie Transaction zugewiesen bekommen, sodass eine getrennte Transaction-Steuerung für unterschiedliche Prozesse möglich wird.

Eine Möglichkeit wäre das Zuweisen einer Transactionreferenz beim Create einer Klasse. Die oberste Klasse bekommt über einen Manager beim Create eine freie Transaction zugewiesen. Jede weitere durch diese Klasse erzeugte Datenzugriffsklasse bekommt diese Referenz weitergegeben.

Problem: Es wäre ein kaum zu bewältigender Aufwand, das Create umzustellen. Es müsste der Constructor jeder Klasse angepasst werden, sowie jeder Aufruf des Constructors geändert werden. Gibt es eine andere Möglichkeit, dieses Problem zu lösen?

Vielen Dank im Voraus
René
  Mit Zitat antworten Zitat