Hallo Leute,
ich weiß, dieses Thema ist schon häufig diskutiert worden, aber ich habe leider noch keine passende Anwtwort gefunden.
Hier mein Problem:
Wir verwenden hier ein Programm, welches für uns Entwickelt wurde. Bis jetzt haben unsere Außendienstmitarbeiter nur damit gearbeitet, wenn sie im Büro waren. Wir werden aber jetzt welche bekommen, die auch von unterwegs arbeiten sollen. Leider kann man da nicht immer eine Verbindung über einen Terminal-Server aufbauen.
Die Lösung wäre also, die Datenbank auf den lokalen Computer zu kopieren (replizieren - mit einem installierten SQL-Server Express oder so) und der MA kann ganz normal damit arbeiten.
So, jetzt aber das Problem: wir haben mehr als einen MA. Alle sollen so arbeiten können.
Die ID der Tabellen ist ein Identy. Die Verknüpfung zu anderen Tabellen funktioniert auch darüber. Wenn jetzt aber z. B. drei MA ein neues Angebot erstellen, hat jeder einen Datensatz mit der gleichen ID.
Ich habe in die Tabelle bereits ein Feld mit einer GUID und ein Feld mit einem Timestamp eingefügt. Die GUID wird beim Anlegen eines neuen Datensatzes erstellt, der Timestamp wird bei jeder Änderung aktualisiert.
Ich kann also feststellen, ob ein Datensatz geändert oder neu angelegt wurde. Das sieht ungefähr so aus:
Tabelle Angebote:
ID|GUID|TS|Angebotsdaten ...
Tebelle AngeboteArtikel
ID|GUID|TS|Angebot (verknüpft mit Angebote.ID)|Artikeldaten ...
Ich hoffe, Ihr kennt euch so aus, wie ich es beschrieben habe.
Ich möchte jetzt die Datenbanken replizieren (in beide Richtungen, vom Client zum Server und umgekehrt).
Wie kann ich einen neuen Datensatz vom Client auf den Server kopieren und dabei alle verknüpften Daten mitkopieren und dabei die Zuweisung ändern?
Wie kann ich die Daten von einer Datenbank auf die andere übernehmen (z. B. am Server wurde zu einem Angebot eine Zeile hinzugefügt oder entfernt ...)
Mir fehlt da im Moment generell ein wenig der Plan. Vielleicht könnt Ihr mir ein wenige beim Denken helfen.
Danke, Markus
ich weiß, dieses Thema ist schon häufig diskutiert worden, aber ich habe leider noch keine passende Anwtwort gefunden.
Hier mein Problem:
Wir verwenden hier ein Programm, welches für uns Entwickelt wurde. Bis jetzt haben unsere Außendienstmitarbeiter nur damit gearbeitet, wenn sie im Büro waren. Wir werden aber jetzt welche bekommen, die auch von unterwegs arbeiten sollen. Leider kann man da nicht immer eine Verbindung über einen Terminal-Server aufbauen.
Die Lösung wäre also, die Datenbank auf den lokalen Computer zu kopieren (replizieren - mit einem installierten SQL-Server Express oder so) und der MA kann ganz normal damit arbeiten.
So, jetzt aber das Problem: wir haben mehr als einen MA. Alle sollen so arbeiten können.
Die ID der Tabellen ist ein Identy. Die Verknüpfung zu anderen Tabellen funktioniert auch darüber. Wenn jetzt aber z. B. drei MA ein neues Angebot erstellen, hat jeder einen Datensatz mit der gleichen ID.
Ich habe in die Tabelle bereits ein Feld mit einer GUID und ein Feld mit einem Timestamp eingefügt. Die GUID wird beim Anlegen eines neuen Datensatzes erstellt, der Timestamp wird bei jeder Änderung aktualisiert.
Ich kann also feststellen, ob ein Datensatz geändert oder neu angelegt wurde. Das sieht ungefähr so aus:
Tabelle Angebote:
ID|GUID|TS|Angebotsdaten ...
Tebelle AngeboteArtikel
ID|GUID|TS|Angebot (verknüpft mit Angebote.ID)|Artikeldaten ...
Ich hoffe, Ihr kennt euch so aus, wie ich es beschrieben habe.
Ich möchte jetzt die Datenbanken replizieren (in beide Richtungen, vom Client zum Server und umgekehrt).
Wie kann ich einen neuen Datensatz vom Client auf den Server kopieren und dabei alle verknüpften Daten mitkopieren und dabei die Zuweisung ändern?
Wie kann ich die Daten von einer Datenbank auf die andere übernehmen (z. B. am Server wurde zu einem Angebot eine Zeile hinzugefügt oder entfernt ...)
Mir fehlt da im Moment generell ein wenig der Plan. Vielleicht könnt Ihr mir ein wenige beim Denken helfen.
Danke, Markus
Comment