Forum: Datenbanken
Delphi
by TigerLilly,
2. Aug 2022
Du kannst eine Schleife machen + das Refresh - nach einer kleinen Pause - solange wiederholen, bis es klappt. Aber da muss man sehr aufpassen, dass man den Server nicht mit lauter Wiederholungsversuchen in die Knie zwingt.
Forum: Datenbanken
Delphi
by TigerLilly,
2. Aug 2022
Das hat mit Transaktionen nur bedingt zu tun. Dein Problem sind LOCKs + die werden auch durch bloßes Lesen erzeugt. Die Locks können neben einzelnen ROWs auch ganze Seiten oder Tabellen umfassen + damit Sätze sperren, die mit der aktuellen Abfrage gar nichts zu tun haben. Siehe weiter vorne im Thread.
Forum: Datenbanken
Delphi
by TigerLilly,
16. Jun 2022
Das Locken beim Lesen ist schon sinnvoll. Wer das nicht will, kann mit WITH (NOLOCK) lesen + daran denken, was uU passieren kann. Das Problem bei der Eskalation ist, dass Sätze gesperrt werden, die mit der ursprünglichen Anforderung nichts zu tun haben und nur zufällig auf der gleichen Page (oder in derselben Tabelle) liegen.