Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verzögerte Aktualisierung der DB Daten (https://www.delphipraxis.net/217876-verzoegerte-aktualisierung-der-db-daten.html)

TurboMagic 18. Sep 2025 21:00

Datenbank: Firebird • Version: 5 • Zugriff über: FireDAC

Verzögerte Aktualisierung der DB Daten
 
Hallo,

in meiner Anwendung habe ich inzwischen folgendes Problem:

Ich erzeuge einen Beleg, danach rufe ich die Belegliste auf und der Beleg ist dort noch nicht
sichtbar. Rufe ich diese Liste wenig später erneut auf, ist er da.

Die Belegerzeugung nutzt eigentlich (ich prüfe das nochmal im Detail aber ein kurzes Code-Review
ergab nichts verdächtiges) eine Transaktion die im Erfolgsfall commitet wird und die Anzeige
der Belege erfolgt erst danach.

Frage also: gibt es noch irgendwelche anderen möglichen Ursachen für diese Verzögerungen?
Die DB läuft lokal, ist nicht so riesig und die benutzten SQL Befehle führen auch nicht gerade
zu einer hohen Last.

Transaktionsisolation in der FDConnection ist ixUnspecified. Im Firebird hab' ich aber nix
an der Konfiguration geändert.

Jasocul 19. Sep 2025 07:18

AW: Verzögerte Aktualisierung der DB Daten
 
Ohne die genaue Konfiguration zu kennen, ist das nicht einfach.
Ich würde zum Testen erstmal prüfen, ob die Transaktion noch aktiv ist, bevor man die Aktualisierung der Belege startet (InTransaction glaube ich).
Sollte das nicht der Fehler sein, Solltest du die DB mit einem passenden DB-Monitor überwachen, um der Ursache auf den Grund zu gehen. Wenn Die Transaktion so lange braucht, solltest du dir natürlich auch ansehen, warum da so ist. Dafür könntest du den passenden SQL-Befehl direkt auf der DB ausführen, bzw. mal analysieren lassen. Je nach DB findest du das meines Wissens unter Explain Plan oder Analyze.

TigerLilly 19. Sep 2025 10:18

AW: Verzögerte Aktualisierung der DB Daten
 
Kann es sein, dass die Belegliste ihre Daten schon abgerufen hat, wenn du den Beleg erzeugst + er deshalb nicht drin ist?

Papaschlumpf73 19. Sep 2025 10:32

AW: Verzögerte Aktualisierung der DB Daten
 
Ich würde auch vermuten, dass die DB-Prozedur asynchron ausgeführt wird und dein Programm einfach schneller ist.

Jasocul 19. Sep 2025 10:57

AW: Verzögerte Aktualisierung der DB Daten
 
Zitat:

Zitat von Papaschlumpf73 (Beitrag 1551936)
Ich würde auch vermuten, dass die DB-Prozedur asynchron ausgeführt wird und dein Programm einfach schneller ist.

Da Transaktionen asynchron laufen, kann auch das eine mögliche Ursache sein. Das kann meines Wissens mit InTransaction geprüft werden.

TurboMagic 20. Sep 2025 16:22

AW: Verzögerte Aktualisierung der DB Daten
 
Hallo,

danke für alle Ideen.
Mein urspüngliches Problem warum ich gefragt hatte kontne ich gestern erst mal nicht mehr nachstellen.
Bei dem Problem warum ich an der Stelle im Programm gearbeitet hatte ist mir die Ursache jetzt auch klar,
da kann ich jetzt denke ich eine passende Lösung bauen. Ursache liegt an meiner Logik und nicht an Delphi.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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