Benutzer mit den meisten Antworten
DataSet - Datenbank Abzug aktualisieren

Frage
-
Hallo zusammen,
aktuell stehe ich vor einem kleinen logistischen bzw. logischen Problem und renne mir gerade meine KopfInterneWand ein.
Im aktuellen Stand habe ich ca. auf meinem MS SQL 2008 R2 eine Datentabelle mit 75.000 Einträgen, stetig wachsend. Diese werden ca. von 50+x Clientstationen angesprochen und regelmäßig aktualisiert. Diese Clients, sind Deutschland weit verteilt und haben auch unterschiedliche Anbindungen.Daher ist es nun eine Anforderung, dass ich den Traffic so gering wie möglich halte.
Habe ich eine Möglichkeit, meine untypisierten DataSets, nur mit Update Werten vom SQL Server zu füllen. Sprich, ich ziehe nach dem Client Start, einen komplett Abzug und würde dann in einem regelmäßigen Interval, diesen Abzug nur partiell aktualisieren (Nur neue, geupdatete und gelöschte Werte).Gruß
MS
Antworten
-
Hi Martin,die Lösung ist ganz einfach. In der/den Datenbanktabellen führst Du eintimestamp-Feld mit. Der Datenbankserver trägt bei Neuanlage oder Änderungeines Datensatzes einen Wert ein, der ständig wächst. Wenn Du Dir im Clientden Maximalwert aus den bereits heruntergeladenen Daten holst, dann kannstDu mit einer Where-Klausel das herunterladen auf die zuletzt hinzugefügtenund geänderten Datensätze beschränken. Mit "AddWithKey" können die im Clientvorhandenen Datensätze aktualisiert werden. Lediglich zwischenzeitlichgelöschte Datensätze werden mit dieser Verfahrensweise nicht erkannt. Wenndas erforderlich ist, sollte anstelle Löschen ein Löschkennzeichen genutztwerden, welches nicht mehr gültige Datensätze identifiziert.--Viele GrüßePeter
- Als Antwort markiert Martin Stühmer Samstag, 12. Februar 2011 09:05
Alle Antworten
-
Hi Martin,die Lösung ist ganz einfach. In der/den Datenbanktabellen führst Du eintimestamp-Feld mit. Der Datenbankserver trägt bei Neuanlage oder Änderungeines Datensatzes einen Wert ein, der ständig wächst. Wenn Du Dir im Clientden Maximalwert aus den bereits heruntergeladenen Daten holst, dann kannstDu mit einer Where-Klausel das herunterladen auf die zuletzt hinzugefügtenund geänderten Datensätze beschränken. Mit "AddWithKey" können die im Clientvorhandenen Datensätze aktualisiert werden. Lediglich zwischenzeitlichgelöschte Datensätze werden mit dieser Verfahrensweise nicht erkannt. Wenndas erforderlich ist, sollte anstelle Löschen ein Löschkennzeichen genutztwerden, welches nicht mehr gültige Datensätze identifiziert.--Viele GrüßePeter
- Als Antwort markiert Martin Stühmer Samstag, 12. Februar 2011 09:05