Stammdaten bei Replikation auf Server oder auf Client bearbeiten

norwegen60

Benutzer
Beiträge
12
Hallo zusammen,

ich habe eine replizierte Datenbank für Prüfstände die auch bei nicht vorhandenem Netz sicher laufen müssen. Deshalb ist die DB als Merge-Replikation aufgebaut, d.h. Daten werden im 60s Takt zwischen Prüfstand und Server repliziert. Das funktioniert auch einwandfrei.
Ein Prüflauf läuft immer komplett lokal, d.h. Vorgabedaten werden vom Client gelesen und Prüfdaten auf den Client geschrieben und dann (bei Verbindung) auf den Server repliziert.

Die Vorgabedaten (Prüfplan) gelten aber für mehrere Prüfstände und jetzt sehe ich zwei Konzepte um sicherzustellen, dass die Vorgabedaten nicht auf zwei Prüfständen gleichzeitig geändert werden. Diese Daten dürfen nur geändert/erstellt werden wenn eine Verbindung zum Server besteht.

Lösung 1:
Die Vorgabedaten werden direkt auf dem Server erstellt/bearbeitet. Dadurch verhindert MsSQL, dass die Daten zeitgleich von einer anderen Station bearbeitet werden können. Ich muss aber sicherstellen, dass die Daten vor dem Teststart auch auf den Client repliziert wurden. Wie?

Lösung 2:
Auf dem Server liegt eine LockTabelle in der die Datensätze, die gerade bearbeitet werden, als gesperrt gekennzeichnet werden. Die Bearbeitung der Daten erfolgt auf dem Client. Der Lock auf den Datensatz darf dann aber erst entfernt werden, wenn die Daten auf den Server repliziert wurden. Wie?

Welches ist die saubere Lösung? Oder gibt es noch eine weitere Möglichkeit um sicherzustellen, dass Vorgabedaten nur bei bestehnder Server-Verbindung und nur von einer Station zeitgleich bearbeitet werden?

Vielen Dank für euer Feedback
Gerd
 
Werbung:
Ich habe mit Replikation leider (oder auch zum Glück) keine Erfahrung. Natürlich würde sich das irgendwie mit Triggern basteln lassen aber da gibt es bestimmt solidere Lösungen für.
 
Werbung:
Jetzt wird das Thema wieder akut und da ich noch keine zufriedenstellende Antwort habe, wollt eich noch mak anfragen, ob da jemand Erfahrung mit hat und wie er es handelt.
 
Zurück
Oben