Announcement

Collapse
No announcement yet.

Deadlock - Bitte um Hilfe

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

  • Deadlock - Bitte um Hilfe

    Hallo, wir haben IB6 auf einem Linuxserver SUSE 7.3. und die IBX-Komponenten 4,52.

    Die Software soll im Netzwerk für mehrere Benutzer laufen. Und da liegt mein Problem. Als Einzelplatz localinterbase und Einzelplatz auf Linuxserver funktioniert alles einwandfrei, sobald aber ein anderer Benutzer im netzt die Software verwendet bekomme ich Deadlock-Meldungen.

    Nun ist das mein erstes Interbase -Projekt (bisher nur lokale Anwendungen unter Paradox) und ich kann in der Literatur kein konkretes Beispiel finden.

    Hier mal ein Ausschnitt aus dem verwendeten Quelltext:

    Verwendet wird ein Datenmodul vorauf die TIBDatabasekomponente und die TIBTransactionskomponente liegt. Die Transaktionskomponente hat keine weiteren Einstellungen (ich habe auch schon alle versucht - Schnappschuß u.s.w brachte aber auch keinen Erfolg). Auf dieses Datenmodul greifen alle Anderen Formulare mit Ihren TIBDataSet-Komponenten zu. Der CacheUpdate steht auf True. Beim öffnen der Formulare werden die TIBDataSet mit OPEN geöffnet. Und beim Schliessen der Formulare werden die TIBDataSet mit
    TIBDataSet.Database.ApplyUpdates(TIBDataSet)geupda tet und mit TIBDataSet.Close geschlossen.

    Hier kommt dann die Deadlockmeldung bzw. lock-konflict.

    In der Literatur steht was von S-Lock und X-Lock aber wie setzte ich dies in Delphi um. Irgendwie sitze ich nun schon recht lange an diesem Problem und bekomme es nicht geregelt.

    mfg Kai Müller

  • #2
    kommst du mit dem IBX SQL Monitor an die Stelle, wo der Deadlock auftritt? es kann an allen liegen, konkurrierende Trigger etc.

    Gruß

    Holge

    Comment


    • #3
      Ich habe das Problem selbst gelöst. Jetzt habe ich die CacheUpdates abgeschaltet und beim öffnen eines formulares eine transaktion gestartet und danach wieder geschlossen. Es war sicherlich ein komplettes Verständnisproblem von Paradox nach Interbase. Auf jedenfalls funktioniert es jetzt.

      mfg ka

      Comment

      Working...
      X