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

Antwort per Email an