Hallo,
Ich benutze Delphi 7 mit einer 3Tier Anwendung. Dabei habe ich auf Clientseite u.a. ein ClientDataSet, dass per CommandText eine Folge von create table und alter table statements an das RemoteModule schickt.
Auf dem RemoteModule gibt es die dazu passenden Provider und OracleDataSet Komponenten.
Mein Problem ist nun dass jeder TClientDataSet.Execute Aufruf die Änderungen automatisch commited. Dabei habe ich sowohl TOracleSession.AutoCommit = false und TOracleDataSet.CommitOnPost = false
Ich rufe auch nirgendwo explizit Commit auf.
Das wird sehr unangenehm wenn bei dieser Folge von Anweisungen etwas schiefgeht. Dann muss ich nämlich von Hand die Änderungen wieder rückgängig machen, wobei auch wieder Fehler auftreten können etc...
Hat jemand eine Idee wie ich das automatische Commit deaktivieren kann?
(Das gleiche gilt übrigens wenn ich TClientDataSet.ApplyUpdates aufrufe. Auch hier werden Änderungen ohne explizites Commit direkt übernommen)
Danke
Ich benutze Delphi 7 mit einer 3Tier Anwendung. Dabei habe ich auf Clientseite u.a. ein ClientDataSet, dass per CommandText eine Folge von create table und alter table statements an das RemoteModule schickt.
Auf dem RemoteModule gibt es die dazu passenden Provider und OracleDataSet Komponenten.
Mein Problem ist nun dass jeder TClientDataSet.Execute Aufruf die Änderungen automatisch commited. Dabei habe ich sowohl TOracleSession.AutoCommit = false und TOracleDataSet.CommitOnPost = false
Ich rufe auch nirgendwo explizit Commit auf.
Das wird sehr unangenehm wenn bei dieser Folge von Anweisungen etwas schiefgeht. Dann muss ich nämlich von Hand die Änderungen wieder rückgängig machen, wobei auch wieder Fehler auftreten können etc...
Hat jemand eine Idee wie ich das automatische Commit deaktivieren kann?
(Das gleiche gilt übrigens wenn ich TClientDataSet.ApplyUpdates aufrufe. Auch hier werden Änderungen ohne explizites Commit direkt übernommen)
Danke
Comment