Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   .NET-Sprachen (https://www.delphipraxis.net/82-net-sprachen/)
-   -   C# Firebird - Mehrere abhängige SQLs in einer Transaktion (https://www.delphipraxis.net/188032-firebird-mehrere-abhaengige-sqls-einer-transaktion.html)

Lemmy 26. Jan 2016 14:45

AW: Firebird - Mehrere abhängige SQLs in einer Transaktion
 
Zitat:

Zitat von Neutral General (Beitrag 1328286)
Jetzt bleibt wohl nichts anderes übrig als eine Datensicherung zurückzuspielen wenn was schief läuft aber falls es so funktioniert hätte wie ich dachte und man bedingungslos komplette Skripte zurückrollen könnte dann wäre ein Fehler in einem Skript deutlich harmloser und man müsste bloß den Fehler beheben und das Skript erneut ausführen. So war jedenfalls meine Vorstellung.

Dann zerlege dein Script in kleine atomare Schritte:
1. Tabelle anlegen
2. Generator anlegen
3. Trigger anlegen
4. Daten einspielen
5. Update Bestandsdaten

bricht es an einer Stelle ab, dann hast Du eben keinen undefinierten Stand, da du genau nachvollziehen kannst an welcher Stelle das Script mit welcher Meldung abgeraucht ist (-> das stimmt natürlich bei umfangreichen UPDATE Statements nicht). Dann die Ursache korrigieren und die Scriptausführung fortsetzen - das macht dann idealerweise dein Updateprogramm, da es sich in einer Hilfstabelle merkt in welcher Version (sprich welches Script) und an welchem Schritt die letzte Ausführung stehen geblieben ist

frankyboy1974 26. Jan 2016 14:56

AW: Firebird - Mehrere abhängige SQLs in einer Transaktion
 
hallo,

ich möchte hier auch nochmal Folgendes in den Raum werfen. Vielleicht hilft es den Transaktionslevel der DB anders einzustellen. Ich hab jetzt nicht alle Beiträge auf dem Schirm, aber vielleicht hilft das irgendwie weiter Link. Wenn es nicht helfen sollte, trotzdem schön, dass wir darüber gesprochen haben. Ansonsten fand ich den Beitrag mit den Savepoints eigentlich ganz hilfreich.

mfg

Neutral General 26. Jan 2016 15:23

AW: Firebird - Mehrere abhängige SQLs in einer Transaktion
 
Zitat:

Zitat von frankyboy1974 (Beitrag 1328303)
hallo,

ich möchte hier auch nochmal Folgendes in den Raum werfen. Vielleicht hilft es den Transaktionslevel der DB anders einzustellen. Ich hab jetzt nicht alle Beiträge auf dem Schirm, aber vielleicht hilft das irgendwie weiter Link. Wenn es nicht helfen sollte, trotzdem schön, dass wir darüber gesprochen haben. Ansonsten fand ich den Beitrag mit den Savepoints eigentlich ganz hilfreich.

mfg

Das Transaktionslevel beeinflusst nur welche Interaktionen zwischen verschiedenen noch nicht committeten Transaktionen möglich sind.
In meinem Fall spielt sich ja alles um eine einzige Transaktion in der der zweite Befehl auf den 1. Aufbaut (Insert auf Create Table).

Savepoints habe ich auch erst durch diesen Thread entdeckt, sind aber in diesem Fall auch uninteressant weil ich nach dem erstellen der Tabelle comitten MUSS.
Und nach einem commit verfallen alle Savepoints der gerade abgeschlossenen Transaktion und ich komme nicht mehr zurück wenn nach dem CREATE TABLE was schief läuft ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz