Autor Beitrag
Bronstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 578
Erhaltene Danke: 1

WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
BeitragVerfasst: Di 26.01.10 09:00 
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?

_________________
Es gibt keine dummen Fragen nur dumme Antworten!!!
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: 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.

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: 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.