Transaktions-Test über mehre DB-Verbindungen (Firebird bzw. IBTransaction)
Von: Hubert Seidel (nospam@hubert-seidel.de) [Profil]
Datum: 05.11.2008 21:03
Message-ID: <gestur$cm1$00$1@news.t-online.com>
Newsgroup: de.comp.lang.delphi.datenbanken
Datum: 05.11.2008 21:03
Message-ID: <gestur$cm1$00$1@news.t-online.com>
Newsgroup: de.comp.lang.delphi.datenbanken
Hi NG, ich versuche mich an verteilte, und frage mich ob ich es richtig mache: http://www.hubert-seidel.de/images/fbxatest.jpg Auf dem Bild ist eine Minimal-Applikation zu sehen auf der ich zwei DB-Verbindungen zusammen geklebt habe sowie ein paar Inhalte der Properties aus dem Objekt-Inspektor. In IBDatabase1 u. IBDatabase2 habe ich IBTransaktion1 zugewiesen. Im Kern wird nun folgendes ausgeführt: IBTransaction1.StartTransaction; try Insert -> DB1 Insert -> DB2 -> Extra provozierte Index-Verletzung IBTransaction1.Commit; except IBTransaction1.Rollback; // Exception wird nur für den Test "verschluckt" ;-) end; Das dies vernünftig Rückabgewickelt wird, ist eigentlich klar. Wenn ich das richtig verstanden habe, arbeitet das ganze intern mit einem 2-Phasen-Commit?! D.h. eingelich teste ich den dan falsch, richtig? Ich müsste die Index-Verletzung entfernen (also kein UNIQUE INDEX oder eindeutige Werte für erfolgreiche Inserts) und quasi eine Exception zwischen den Phasen erzeigen. Richtig? Hat jemand dazu eine Idee/Vorstellung was ich vor habe und wie ich das testen kann? (Ich hoffe, ich bin nicht völlig auf dem Holzweg :) Ich habe irgendwie nicht sonderlich viele Informationen gefunden mit denen ich etwas anfangen konnte. Liegt aber daran das ich nicht weis wonach ich da suchen muss. mfg. Herby -- http://www.hubert-seidel.de[ Auf dieses Posting antworten ]
Antworten
- Christian NineBerry Schwarz (06.11.2008 12:10)
- Hubert Seidel (06.11.2008 17:50)
- Christian NineBerry Schwarz (07.11.2008 13:38)
