Optimistic Concurrency

Eintrag zuletzt aktualisiert am: 12.02.2011

Unter dem Begriff Sperren (engl. Locking) werden Mechanismen zusammengefasst, die die häufig mit Änderungskonflikten behaftete gleichzeitige Bearbeitung eines Datensatzes durch mehrere Benutzer verhindern. Sowohl ADO.NET als auch das ADO.NET Entity Framework werden das sogenannte "opti-mistische Sperren". Optimistisches Sperren ist dabei ein Euphemismus, denn verhindert die gleichzeitige Bearbeitung eines Datensatzes durch mehrere Benutzer gar nicht, sondern löst nur im Nachhinein einen Fehler aus, wenn zwei oder mehrere Benutzer einen Datensatz gelesen haben, einer von diesen (egal welcher) eine Änderung in die Datenbank schreibt und nun ein zweiter Benutzer diesen Datensatz auch schreiben will. Der zweite Benutzer bemerkt also erst beim Speichern, dass ein Speichern nicht möglich ist. In der Regel waren seine Änderungen dann vergebens, außer wenn die Software explizit Mechanismen vorsieht, um die Änderungen des ersten Benutzers zu überschreiben.