Entwickler-Ecke

Datenbanken - Zwei DB2 Datenbanken Synchronsieren


Bronstein - Di 26.01.10 09:00
Titel: Zwei DB2 Datenbanken Synchronsieren
Hallo,
ich habe zwei DB2-Datenbanken, eine Master-DB und eine Temp-DB.

Jetzt möchte ich die Daten einer Tabelle synchronisieren, sprich die Daten von der Master-DB in die Temp-DB schreiben.

Wie würde ihr das machen?


zuma - Di 26.01.10 10:18

Das ist natürlich sehr von deiner DB-Struktur bzw. deinem DB-Design abhängig, aber mal ganz grob, wie ich es machen würde:

Wenn einfach übertragen werden soll:

1) Tabelle aus DB1 in Clientdataset einlesen
2) Tabelle aus DB2 in 2tes Clientdataset einlesen
3) evtl. Korrekturen (ID'S, Feldwerte, etc) in ClientDataSet vornehmen
4) DB-Tabelleninhalt löschen (DB 1 oder 2, je nach dem)
5) korrigiertes Clientdataset wieder in DB (1 oder 2, je nach dem) schreiben

Die befüllten Clientdataset speichern (SaveToFile) als Backup, bevor man die DB's manipuliert, ist sicher ne gute Idee ;)

Will man etwas mehr Komfort/Kontrolle, würde ich Datensatzweise vorgehen, d.h. z.b.
1) DB 1 durchlaufen,
2) DS aus DB 1 lesen
3) prüfen ob in DB 2 da und identisch, wenn nicht, eintragen bzw. Feldwerte korrigieren.

Soll in beide Richtunen abgeglichen werden, muss natürlich noch geprüft werden, ob in DB2 datensätze da sind, die in DB1 fehlen.


Bernhard Geyer - Do 04.02.10 07:53

user profile iconBronstein hat folgendes geschrieben Zum zitierten Posting springen:
Wie würde ihr das machen?

Ich würde mich einlesen was DB2 für Replikationsmechanismen eingebaut hat und diese verwenden.