Announcement

Collapse
No announcement yet.

Commit verhindern?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Commit verhindern?

    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

  • #2
    Hallo Andreas,

    Oracle DDL (also alles was mit CREATE, ALTER, DROP, etc. zu tun hat) benötigt <b>kein</b> Commit, sondern wird immer sofort ausgeführt. Ein DDL-Statement führt sogar zu einem impliziten Commit für vorangegangene DML!

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X