nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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