Forums Neueste Beiträge
 

Frage zum Multiuser-Zugriff

05/11/2008 - 09:36 von Vadim Klimov | Report spam
Hallo all,

wir versuchen unsere mit Gupta entwickelte Software auf VS2008 bzw. C#
umzustellen. Dabei haben wir einige Fragen und hoffen von Euch eine Hilfe zu
bekommen. Besonders interessiert uns folgendes. Benutzer holt aus der
Datenbank einen Datensatz und editiert ihn. In deiser Zeit holt ein anderer
Benutzer den gleichen Datensatz und editiert ihn auch und speichert. Erster
Benutzer ist halt nicht so schnell, versucht seine Änderungen zu speichern
und überschreibt dabei Änderungen vom zweiten Benutzer. Wie kann man
eigentlich feststellen, dass ein Datensatz geàndert wurde? Die SqlBase von
Gupta verwendet eine sogenannte RowID, die sich mit jedem Update àndert, um
optimistic Locking zu realisieren. Und in oben beschriebener Situation
bekommt man dann einen Fehler, da die RowID nicht mehr stimmt. Wie làsst sich
das unter Sql Server zu realisieren? Gibt es so was Ähnliches?
Danke im Voraus
 

Lesen sie die antworten

#1 Elmar Boye
05/11/2008 - 11:24 | Warnen spam
Hallo Vadim,

"Vadim Klimov" schrieb ...

Die SqlBase von Gupta verwendet eine sogenannte RowID, die sich mit jedem
Update àndert, um optimistic Locking zu realisieren.
Wie làsst sich das unter Sql Server zu realisieren?



Das Äquivalent beim SQL Server ist der rowversion (aka timestamp) Datentyp.
http://msdn.microsoft.com/de-de/lib...82776.aspx

Bei ADO.NET werden die Befehle die z. B. der (Sql)CommandBuilder erzeugt
aber auch ohne diese Spalte so erzeugt, dass eine optimistiche Aktualisierung
erfolgt: http://msdn.microsoft.com/de-de/lib...416cz.aspx

Gruß Elmar

Ähnliche fragen