> 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.
O.K. ist jetzt klar. > > > -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) Naja soweit bin ich noch nicht. Erst mal wollte ich es schaffen die ServerDB zu aktualisieren. Hier tritt aber nun das Problem auf: -Habe ich keinen Prim�rschl�ssel, dann macht er jedesmal das InsertCommand -Habe ich einen Prim�rschl�ssel, dann schimpft er, da� ich eine Row hinzuf�gen will, in der der Prim�rschl�ssel bereits vergeben ist. Kann ich keine zwei Tabellen Mergen, die einen Prim�rschl�ssel haben? Ich dachte (und darum gehts mir die ganze Zeit), da� ich eben auch zwei gleiche Datens�tze Mergen kann. Also ich habe lokal: ID Name Passwort 1 Mansur neuesPWD Ich hole mir das DataSet vom Server: ID Name Passwort 1 Mansur altesPWD So jetzt will ich, weil ich eine �nderung auf dem Client habe, da� er mir diese �nderung in das Dataset einf�gt und dort Updated. Was meinst DU dazu? Gru� Mansur > > In VS.Net werden die DataAdapter ja fast automatisch erstellt. Leider habe ich kein VS.Net. Ich verwende f�r die ganze Geschichte asp.Net WebMatrix von Microsoft ... h�ndisch ... > > 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 > | [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
