GELÖST HSQL Transaktionssteuerung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: GELÖST HSQL Transaktionssteuerung

Re: HSQL Transaktionssteuerung

von WSO » Di, 08.07.2014 11:43

Vielen Dank!
Das ist doch mal wirklich einfach und transparent.
Gibt es limits für das Tranasaktionsvolumen?
Gruss,
WSO

Re: HSQL Transaktionssteuerung

von DPunch » Mo, 07.07.2014 20:19

Servus

Für Transaktionen brauchst Du eine Verbindung ohne connection pooling, d.h. eine Verbindung, die nicht in einem Pool für andere Anfragen an die gleiche Datenquelle vorgehalten wird.
Die kriegst Du so

Code: Alles auswählen

oConnection = oDataSource.GetIsolatedConnection("","")
Mit

Code: Alles auswählen

oConnection.AutoCommit = False
stellst Du das automatische Commit, das bei normalen Verbindungen voreingestellt und nicht veränderbar ist, aus.
Bei Bedarf kannst Du dann mit

Code: Alles auswählen

oConnection.Rollback
bzw.

Code: Alles auswählen

oConnection.Commit
deine Änderungen wegschreiben bzw. rückgängig machen.

GELÖST HSQL Transaktionssteuerung

von WSO » Di, 01.07.2014 12:30

Hallo Zusammen,
hat jemand ein kleines Beispiel für eine Transaktionssteuerung per Basic-Makro für HSQL-DB?

Ich möchte unter bestimmten Bedingungen ein Rollback von mehreren Datensatzmanilpulationen manuell, oder bei Systemabsturz automatisch
rückgängig machen.
Etwa so:

Code: Alles auswählen

SUB xzy

   On Error GoTo pError:

   iTransaction = FALSE
   Code ....

   START Transaction
   iTransction = TRUE

   Insert
   Update
   etc.

   If iAbbruchbedingung  = True GoTo pError:

   END Transaction

   GoTo pEnde:

pError:
   If iTransaction = TRUE Then
       Rollback
   End if
   msgbox ...

pEnde:
End SUB

Moderation: Zur übersichtlichen Darstellung von Programmcode im Text [​code][/code] Tags gesetzt.—lorbass, Moderator

Nach oben