![]() |
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Das Datenmodell sagt dazu klar nein.
Allein wenn du die alte Rechnung rauslöscht während sie auf der GUI angezeigt wird tritt der Fehler auf. Das AutoCommit sorgt dafür. Offensichtlich wird die Rechnung angelegt ohne ErsetztRgNr. Dann die alte Rechnung löschen und die zu ersetzende Rechnung manuell eintragen? Klingt verwegen. Die werden die ersetzt die Rechnung nicht mit der Hand reinpfrimmeln :-D Wohl aber kann man über 2 Sessions arbeiten, bspw. das Programm 2 Mal starten, in einem die Verlinkung auf der GUI herstellen und den alten Satz noch kurz vor dem Post rauslöschen. Den hat die Sperre vermutlich mal nicht im Visier. Ein allfälliger Dialog ist zu dem Zeitpunkt schon geschlossen. Allein für den Fall, dass du den alten Datensatz rauslöscht in einer Session (nicht commitest) und in der zweiten die Verbindung über den Foreign Key versuchst herzustellen kommt die Meldung mit dem Deadlock. Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Tja,
das zeigt mir wieder, in etwas aufwändigeren Scenarien sind DB-sensitive GUI-Elemente völlig fehl am Platz. Du kannst das nur versuchen, anhand der Kunden-Infos den Vorgang nachzuvollziehen. Nimm zur Not 2 Rechner. Viel Glück. Willkommen im Club. |
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Danke.
Dann bleibt mal allein im DB Monitor die statements rauszufahren die zu dem Zeitpunkt abgesetzt werden. Außer du hättest mal IBDAC upgedated auf genau eine Version in der zumindest ähnliches Verhalten wurde beim Support gemeldet, aber nicht gleich. Das war beim Sprung von 5.4.12 auf 5.4.13 ![]() Besonders die Sache mit der Notiz kommt mir seltsam vor. Es wäre gut zu wissen, selbst wenn der Fehler nicht mehr auftritt, was es am Ende war. Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
Kann es den wirklich vorkommen, dass der Meldungstext "deadlock" noch um weitere Details ergänzt wird? In der Doku steht, dass bei Fehler 335544336 nur der Text "deadlock" ausgegeben wird. Mehr Text habe ich bei deadlocks bei anderen Fällen in der Vergangenheit auch noch nie gesehen. |
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Zitat:
Zitat:
Zitat:
|
AW: Firebird: Datensatz wird nicht gefunden, obwohl er da ist
Monitoring der eigenen Statements sollte IBDAC können, viel effektiver wäre es aber zum Beispiel, den weg zum Fehler serverseitig zu finden, wenn
mehr als ein Client beteiligt ist. Trace geht auch mit dem Lieferumfang von firebird >=2.5, aber ist evtl. komfortabler in anderen Tools, z.B. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz