Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Firebird deadlock Strategie

  Alt 23. Jun 2006, 14:50
Der deadlook ist immer auf "menschliches Versagen" zurückzuführen.
Wobei das Versagen natürlich relativ ist und ich diesen Fall gerne abfangen möchte.

Das Programm läuft im Veranstaltungsbüro einer Sportveranstaltung. Da stehen mehrere vernetzte PC.
Auf einem PC wird die Starterliste einer Prüfung bearbeitet.
Plötzlich klingelt das Handy am anderen Ende des Raums. Irgendeiner geht hin und in der gerade bearbeiteten
Startliste kommt eine Änderung.
Jetzt wird diese schnell an einem anderen Arbeitsplatz geöffnet, ein bischen geändert und geschlossen.
Damit ist der deadlock am 2. Arbeitsplatz vorprogrammiert.

Gibt es eigentlich in FB eine Möglichkeit Tabellen tenmporär zu sperren?

Im deadlock Fall könnte ich dann

Tabelle sperren
Start Transaction
Datensatz lesen und Änderung vergleichen (jeder Satz führt den Timestamp der letzten Änderung mit)
Datensatz speichern

(Das für max 150 Datensätze)

Commit

Die Sperrzeit sollte bei diesem Verfahren unter 1 sec liegen und ist vom Anwender nicht beeinflussbar.

Gruß
hans peter
  Mit Zitat antworten Zitat