Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Schreiben in die Datenbank macht Endlosschleife (https://www.delphipraxis.net/215860-schreiben-die-datenbank-macht-endlosschleife.html)

ULIK 19. Sep 2024 09:27

AW: Schreiben in die Datenbank macht Endlosschleife
 
Versteh ich das richtig: das Write auf der DB wird ausgelöst, kommt aber nicht zurück? Könnten hier DB Trigger rein spielen, die einen Lock erzeugen? Ich kenn mich jetzt mit MSSQL nicht aus, aber hast Du schon mal auf der DB nachgeschaut, ob Du dort etwas über das ausgeführte Statement heraus findest (Oracle hatte da was, wenn ich mich recht erinnere).

haentschman 19. Sep 2024 09:32

AW: Schreiben in die Datenbank macht Endlosschleife
 
Zitat:

Versteh ich das richtig: das Write auf der DB wird ausgelöst, kommt aber nicht zurück?
...ja, aber nur an einem Datensatz an einem bestimmten Arbeitsplatz reproduzierbar. :zwinker:
Zitat:

Könnten hier DB Trigger rein spielen
...diese Tabelle hat keine Trigger.
Zitat:

über das ausgeführte Statement heraus findest
...gut Idee. Das Statement ist aber an allen Plätzen das gleiche...

PS:
Der Timeout stand auf 600 Sekunden. Zum Test auf 60 Sekunden reduziert.

ULIK 19. Sep 2024 09:50

AW: Schreiben in die Datenbank macht Endlosschleife
 
Das mit dem DB Trigger war eine Idee, weil der Code was von DB Trigger bzgl. Historie schrieb:
Delphi-Quellcode:
DMZU.Database.Write(FModifiedDistributor, CanSaveHistorie); // Historie siehe DB Trigger
Zitat:

Zitat:
über das ausgeführte Statement heraus findest
...gut Idee. Das Statement ist aber an allen Plätzen das gleiche...
Aber wenn hier ein eventueller Langläufer auftritt, könntest Du so eventuell herausfinden, was genau die Ausführung verzögert. Und MSSQL hat so was anscheinend: https://learn.microsoft.com/en-us/tr...unning-queries

haentschman 19. Sep 2024 09:59

AW: Schreiben in die Datenbank macht Endlosschleife
 
Zitat:

// Historie siehe DB Trigger
...sorry, das steht noch da. Der Trigger ist aber raus.

TigerLilly 19. Sep 2024 10:26

AW: Schreiben in die Datenbank macht Endlosschleife
 
Ich würde als erstes mit dem MSSQL Profiler schauen, was der SQL Sver macht, wenn der Datensatz geschrieben wird.
Hängt das Programm (= Endlosschleife in deinem Code) oder hängt der SQL Server (=Locking).

Wenn du das weißt, kann man gezielter weitermachen.

Keinesfalls würde ich (jetzt schon) herumprobieren (neu starten, Hardware tauschen etc). Im besten Fall hilft es nichts, im schlechtesten Fall ist das Problem dann weg + du weißt nicht wieso.

haentschman 19. Sep 2024 10:43

AW: Schreiben in die Datenbank macht Endlosschleife
 
Neuigkeiten:

1. Das alte Kabel vom Computer zur Dose hatte einen Knick was zu höheren Kurvengeschwindigkeiten für die Daten führt. :stupid: :zwinker: (Wer den witzigen Forumseintrag über Kabelverlegung findet, kann ihn gern mal anhängen. Ich habe ihn nicht gefunden. :wink:)
2. Kabel getauscht (gleiche Dose) -> gleicher Fehler am gleichen Datensatz :?
3. neues Kabel an neuer Dose -> Speicherung korrekt. :cheer:
4. altes Kabel an neuer Dose -> Speicherung korrekt. :cheer:

...nächste Woche muß der externe IT Fuzzi mal die Dose/Port durchmessen. :wink:

Trotzdem ist es unlogisch...:gruebel:

stifflersmom 19. Sep 2024 11:29

AW: Schreiben in die Datenbank macht Endlosschleife
 
Da mit neuem und altem Kabel die Speicherung an anderer Dose korrekt ist kommen nur noch vier Möglichkeiten in Frage:

- Dose selbst
- entsprechender Port auf Patchfeld
- Patchkabel vom Patchfeld zum Switch
- Port auf Switch selbst

Ich persönlich tippe auf dem Switch.

TomyN 19. Sep 2024 19:05

AW: Schreiben in die Datenbank macht Endlosschleife
 
Ich persönlich auch :-) (Firewall Regel, Filter oder oder ..)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.
Seite 2 von 2     12   

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