Hallo,
das läuft normlerweise über Replikation,
es gibt für Firebird einen freien Replikator (google),
da muss man sich nur anmelden.
Die Replikation selber läuft nicht direkt per
SQL,
sondern über ein eigenes Programm (diesen Replikator) (also c++, Delphi,
weiss nicht, ist kein open source).
Das Grundprinzip ist "einfach"
1. Sorge für eindeutige Nummernkreise bei den Primärschlüsseln
der einzelnen Datenbanken (geht bei Generatoren ja einfach)
1.
DB beginnt z.B. bei 1, 2.
DB bei 10 Mio, 3.
DB bei 40 Mio.
2. Protokolliere alle Änderungen aller
DB's
Trigger, Protokolldatei
3. Trage alle Änderungen aller
DB's in die jeweils anderen ein
Probleme gibt es, wenn 1 Datensatz von zwei Nutzern "gleichzeitig"
geändert wurde. Ausserdem mit unique Key (Auftragsnummer),
dass hattest du aber über Serien ja schon gelöst.
Wenn es hier "nur" darum geht, neue Angebote einzutragen,
würde ich ein Synchronisationstool schreiben.
Das fragt in der Haupt-
DB nach, ob das jeweilige Angebot
schon drinsteht, wenn nicht wird es eingetragen,
wenn es drinsteht, wird auf Änderungen geprüft (synchronisiert).
Positiv macht sich hier ebensfalls eine Protokolltabelle
bemerkbar, wo im einfachsten Fall Datum, Tabellenname, prim key
der Änderung drinsteht.
Heiko