Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Sync zweier SQLite Datenbanken (https://www.delphipraxis.net/186016-sync-zweier-sqlite-datenbanken.html)

DanXe 27. Jul 2015 20:26

Datenbank: SQLite • Version: 3 • Zugriff über: dbExpress

Sync zweier SQLite Datenbanken
 
Hallo :)

ich bin nach der Suche nach einer Möglichkeit, zwei SQLite-Datenbanken zu synchronisieren. Es sollen Daten von Datenbank Y in X eingefügt werden. Die beiden Datenbanken (mit 4 Tabellen) haben die gleiche Struktur. Zunächst findet die Synchronisation in eine Richtung statt.

(Als) Beispiel:
Code:
Tabelle Kunden:
KundeID; Vorname; Nachname; GeburtsDatum;, Beruf; Strasse; Plz; Ort; Land; Telefon; Email;

Tabelle Bestellungen:
BestID; KundeID; Bemerkung; BestellDatum; Bestelluhrzeit; Anzahl;

Tabelle3
(ID; KundeID; Datum; Uhrzeit; Anzahl; ...)
Tabelle4
(ID; KundeID; Datum; Uhrzeit; ...)
Die Tabellen 3 und 4 haben auch die Felder "Datum und Uhrzeit". Alle Mit 1-N Beziehung.

Mein Ansatz:
Für jede Tabelle ein UPDATE und INSERT-Trigger zu erstellen. Alle Änderungen der Tabellen mit den Befehlen UPDATE und INSERT werden in eine Tabelle Info geschrieben. Somit können Änderungen in der Datenbank kontrolliert werden.

Logtabelle für Kunden:
Code:
Info (ID; KundeID; Datum; Infomation)
Information für "Geändert oder Neu eingefügt"

Nach erfolgreicher Synchronisation wird die Logtabelle "Info" immer gelöscht. Die übertragenen Daten werden aus der Datenbank Y nicht gelöscht. Die Datenbank wird immer größer! Bei der nächsten Synchronisierung werden nur die neu angelegten oder (inzwischen) geänderten Daten in die DB "X" übertragen/importiert.

Wie würdet ihr das am besten, einfachsten machen?

Vielen Dank schon mal


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz