Bei einer Isapianwendung taucht hin und wieder folgender Fehler auf:
Your transaction (process ID #9) was deadlocked with another process and has been chosen as the deadlock victim. Rerun your transaction
Unter welchen Bedingungen kann den im Normalfall ein solcher Deadlock enstehen?
Zur Anwendung:
Der Datebzugriff erfolgt mit TADOQuery. Im Datenmodul gibt es zwei ADOConnection Objekte und zwei TADOQuery (jeweils verbunden). Bei jedem Request wird
ADOConnection1 geöffnet und am Ende geschlossen.
Bei einer Funktion wird eine Transaktion gestartet und nur in diesem Fall wird zusätzlich die zweite ADOConnection geöffnet und nach beenden der Transaktion geschlossen.
Der Deadlock taucht allerdings in einer Funktion auf, in der auf eine Tabelle (update) zugegriffen wird, die gar nicht in der genannten Transaktion betroffen ist, allerdings ist das eine Tabelle die recht häufig frequentiert wird (lesen, hinzufügen, update).
Hat jemand Vorschläge was da falsch läuft???
Your transaction (process ID #9) was deadlocked with another process and has been chosen as the deadlock victim. Rerun your transaction
Unter welchen Bedingungen kann den im Normalfall ein solcher Deadlock enstehen?
Zur Anwendung:
Der Datebzugriff erfolgt mit TADOQuery. Im Datenmodul gibt es zwei ADOConnection Objekte und zwei TADOQuery (jeweils verbunden). Bei jedem Request wird
ADOConnection1 geöffnet und am Ende geschlossen.
Bei einer Funktion wird eine Transaktion gestartet und nur in diesem Fall wird zusätzlich die zweite ADOConnection geöffnet und nach beenden der Transaktion geschlossen.
Der Deadlock taucht allerdings in einer Funktion auf, in der auf eine Tabelle (update) zugegriffen wird, die gar nicht in der genannten Transaktion betroffen ist, allerdings ist das eine Tabelle die recht häufig frequentiert wird (lesen, hinzufügen, update).
Hat jemand Vorschläge was da falsch läuft???
Comment