Guten Morgen,
meine Anwendungen sind meist GUI Anwendungen, wo Daten von einer Datenbank angezeigt und verändert werden können. Also nicht wirklich was kompliziertes.
Nun wollte ich euch fragen, wie ihr so eine Anwendung im Netzwerk macht, wenn mehrere Benutzer auf die gleichen Datenbanken zugreifen. Speziell interessiert
mich das "Record Locking". Ich muss ja im Netzwerk den geladenen Datensatz für die anderen Benutzer sperren, damit keine Datenkonflikte auftreten. D.h. ein Benutzer die Daten des anderen wieder überschreibt.
Als Datenbank haben meine Kunden MySQL und MS SQL im Einsatz. Soweit ich mich eingelesen habe, gibt es da in den .NET Treiberlibraries keine Funktionen um einen geladenen Datensatz zu sperren und wieder freizugeben.
Ich verwende dazu zwei Ansätze:
1) Beim Laden wird ein Flag gesetzt = Spalte in der Tabelle, welche gesetzt wird und beim Verlassen des Datensatzes wieder gelöscht
2) Ich schaue, ob vor dem Speichern des Datensatzes dieser sich geändert hat. Wenn geändert, dann Meldung an den Benutzer
Wie löst ihr solche Situationen? Ich danke für euere Infos.
meine Anwendungen sind meist GUI Anwendungen, wo Daten von einer Datenbank angezeigt und verändert werden können. Also nicht wirklich was kompliziertes.
Nun wollte ich euch fragen, wie ihr so eine Anwendung im Netzwerk macht, wenn mehrere Benutzer auf die gleichen Datenbanken zugreifen. Speziell interessiert
mich das "Record Locking". Ich muss ja im Netzwerk den geladenen Datensatz für die anderen Benutzer sperren, damit keine Datenkonflikte auftreten. D.h. ein Benutzer die Daten des anderen wieder überschreibt.
Als Datenbank haben meine Kunden MySQL und MS SQL im Einsatz. Soweit ich mich eingelesen habe, gibt es da in den .NET Treiberlibraries keine Funktionen um einen geladenen Datensatz zu sperren und wieder freizugeben.
Ich verwende dazu zwei Ansätze:
1) Beim Laden wird ein Flag gesetzt = Spalte in der Tabelle, welche gesetzt wird und beim Verlassen des Datensatzes wieder gelöscht
2) Ich schaue, ob vor dem Speichern des Datensatzes dieser sich geändert hat. Wenn geändert, dann Meldung an den Benutzer
Wie löst ihr solche Situationen? Ich danke für euere Infos.