Einzelnen Beitrag anzeigen

alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#14

Re: Programm 2x offen=falsche Daten

  Alt 27. Jan 2010, 13:31
Zitat von hoika:
Das Problem ist, dass Programm 2 (Select)
erst eine neue Transaktion starten muss,
bevor es die Daten von Programm (nach dessen Commit) sehen kann.
Das ist nicht ganz korrekt.
Das gilt nur bei Verwendung des Transaction-Isolation-Levels SNAPSHOT
bzw. RepetableRead. Das sollte aber die Ausnahme sein.

Normalerweise wird READ COMMITTED verwendet.
Da ist es ausreichend das SQL-Statement erneut auszuführen und es werden
alle Daten anderer Transaktionen die mit COMMIT bestätigt sind gesehen.
Auch wenn das COMMIT nach dem Start der eigene Transaktion erfolgte.
Deshalb ja auch der Name READ COMMITTED.

Bei SNAPSHOT hingegen werden alle Daten anderer Transaktionen
ignoriert, auch wenn diese mit COMMIT bestätigt wurden.

alex
Alexander
  Mit Zitat antworten Zitat