AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Deadlockopfer bei TDataset.Refresh
Thema durchsuchen
Ansicht
Themen-Optionen

Deadlockopfer bei TDataset.Refresh

Ein Thema von haentschman · begonnen am 15. Jun 2022 · letzter Beitrag vom 2. Aug 2022
Antwort Antwort
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#1

AW: Deadlockopfer bei TDataset.Refresh

  Alt 2. Aug 2022, 12:53
Wie kriege ich raus wer der Übeltäter ist?
Lass den Profiler mitlaufen, dann siehst du, welche SQL Statements abgesetzt werden.
Und vielleicht hilft das auch:
http://etutorials.org/SQL/...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#2

AW: Deadlockopfer bei TDataset.Refresh

  Alt 2. Aug 2022, 13:22
Zitat:
Wie kriege ich raus wer der Übeltäter ist?
Blöd ausgedrückt.
...ist mir eigentlich egal. Ich brauche eine Prüfung ob das Refresh ausgeführt werden kann.

Was ich probiert habe:

Query.Connection.InTransaction
Connection.InTransaction (was imho das gleiche ist)
Query.CanRefresh

Welche Möglichkeiten habe ich noch?

PS:
Das ist erst, seit ich das automatische Aktualisieren der Oberfäche eingebaut habe. Dadurch hat die Häufigkeit der Ausführung des Refresh deutlich zugenommen.

Zitat:
Lass den Profiler mitlaufen, dann siehst du, welche SQL Statements abgesetzt werden.
Da sehe ich doch nur welche Locks existieren. Aber nicht die "Konflikte" mit einem Refresh.
Trotzdem Danke.

Geändert von haentschman ( 2. Aug 2022 um 13:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#3

AW: Deadlockopfer bei TDataset.Refresh

  Alt 2. Aug 2022, 13:27
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.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#4

AW: Deadlockopfer bei TDataset.Refresh

  Alt 2. Aug 2022, 13:44
Zitat:
Das hat mit Transaktionen nur bedingt zu tun. Dein Problem sind LOCKs
ich brauche Urlaub.

Ich kann um das Refresh einen leeren try/except Block machen.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: Deadlockopfer bei TDataset.Refresh

  Alt 2. Aug 2022, 13:49
Ich kann um das Refresh einen leeren try/except Block machen.
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 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