Hallo! > Ich habe zwei DB's. > Die eine steht beim Provider, die andere auf irgendeinem > Client. Es k�nnen Daten auf Client, wie auf Server ge�ndert > werden (Insert, Update, > Delete) > In Intervallen von mehreren Minuten sollen diese DB's nun > abgeglichen werden. Meine ClientDB ist die Originale. Die die > mir wichtig ist. > > Ich dachte ich kann nun so verfahren: > -Alle Datens�tze holen, die einen Timestamp haben, der nicht > �lter ist als ***Zeitpunkt des letzten Abgleichs*** und > dieses in ein Dataset speichern > (Server) > -Das DataSet sollte ja "wissen" welche Spalte die ID-Spalte ist... > (MissingSchemaAction.AddWithKey)
Bei "MissingSchemaAction" geht es um Strukturinformationen, in dem Fall also darum, dass auch neue (Prim�r-)Schl�sselinformationen erzeugt werden. Das funktioniert aber nur, wenn das DataSet auch die entsprechenden Strukturinformationen beinhaltet. > -So jetzt hole ich das Dataset des Clients mit den > Datens�tzen, die nicht �lter sind als Timestampfeld. -Ich > habe also zwei Datasets, die ich (wie ich dachte) Mergen kann... > -AUf der einen Seite m�chte ich wissen was ich am > Client f�r Datens�tze �ndern muss > -Auf der anderen Seite muss ich wissen was ich auf dem > Server �ndern muss (und dieses Dataset auf den Server bringen) > -Auf dem Server muss ich dann eben das Dataset > in Empfang nehmen und ...Eben Inserten, updaten, oder Deleten ... Wenn Du das DataSet �ber einen DataAdapter f�llst, d�rfte die Methode "da.Update(ds)" ausreichen, um die �nderungen, die aufgrund des "ds.Merge(...)" erfolgt sind, auch in der Datenbank zu vollziehen. Wie gesagt, f�r eine Synchronisation musst Du in beide Richtungen mergen: da1.Fill(ds1) da2.Fill(ds2) ds1.Merge(ds2, true, System.Data.MissingSchemaAction.Add) da1.Update(ds1) ds2.Merge(ds1, true, System.Data.MissingSchemaAction.Add) da2.Update(ds2) In VS.Net werden die DataAdapter ja fast automatisch erstellt. Freundliche Gr��e Joachim van de Bruck | [aspdedotnet] als [email protected] subscribed | http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.dotnetgerman.com/listen/aspDEdotnet.asp
