Announcement

Collapse
No announcement yet.

Trnasationen

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

  • Trnasationen

    Hallo,
    ich habe mal wieder ein Problem mit einer FB DB. Ich habe eine Anwendung mit IBQuery komponenten. Die DB Komponente steht auf Autocommit. Ich benutze verschachtelte Abfragen, mit denen ich auch Updates und Insert mache. Das Problem ist, daß bei lokaler Anwendung alles klappt, aber wenn die DB im Netzwerk läuft und mehrere Anwender darin arbeiten, manchmal Daten nicht übernommen werden. Meine Vermutung ist, daß es evtl. mit den Transaktionen zu tun hat. Die Daten werden per Post übernommen. Falls dies der Fall ist, wie kann ich das umgehen? CachedUpdate = false

    Danke T.Schumann
    Danke Torsten

  • #2
    Hallo,

    ich verwende zwar IBX nicht, aber soviel ich weiss, macht IBX kein Autocommit für Dich, sondern Du kannst eine Default Action bei einer TIBTransaction einstellen, die Commit ist, wenn die TIBTransaction zerstört wird. Du musst selbst sicherstellen, dass nach einem Post auch ein Commit durchgeführt wird.

    Wie gesagt, ich verwende IBX nicht mehr, aber ich kann mich an so etwas derart erinnern.

    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,
      es sind keine IBX sondern IBObjects und da steht AutoCommit auf true. Gibt es nicht eine Methode neue Transaktionen der Database zur Laufzeit hinzu zu fügen und mit diesen dann die Transaktionssteuerung zu machen?

      mfg
      Toss
      Danke Torsten

      Comment


      • #4
        Hallo,

        es gibt natürlich eine eigene Transaktionskomponente, die mit einer Database/Connection verbunden werden kann. Die Transaktionskomponente selbst kann wieder einer TIB_Query, usw... zugewiesen werden. Über die Transaktionskomponente kann dann ein StartTransaction/Commit/Rollback durchgeführt werden. Wenn es geht, dann sollte man immer mit expliziten Transaktionen arbeiten.

        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Ja Thomas da bin ich ganz Deiner Meinung. Ich persönlich arbeite sehr gern mit Delphi bzw. Cbuilder, aber alles den Komponenten zu überlassen, da bekomme ich Probleme.

          Ich habe da noch etwas gefunden, was mir sehr misfällt:
          Wie gesagt es sind alles IBOQuery's und da wird teilweise folgendes gemacht:
          Select * from Tablelle where ID = -1!
          Dadurch wird ein leerer Datensatz geholt, per Edit dann gefüllt und mit Post dann in die DB geschrieben. Da sträuben sich mir die Haare. Bitte teilt mir Eure Meinung dazu mit.

          Danke Torste
          Danke Torsten

          Comment

          Working...
          X