|
|
|
Wichtige VoraussetzungenBorland Database Engine 5.* Interbase-Server bzw. Firebird Server Datenbanken müssen die gleiche Struktur haben Datenbankübergreifende Eindeutigkeit des Primärschlüssels Es werden nur Tabellen repliziert die einen Primärschlüssel
haben! NEW.GENID = GEN_ID(SCHLUESSEL,1); END Möglichkeit 1 (Fortlaufende Nummer und Hostname ergeben Primärschlüssel):Der Primärschlüssel sämtlicher Datenbanken setzt sich aus durch Generatoren definierten Integerwerten verbunden mit dem jeweiligen Hostnamen des Rechners der ein Insert durchgeführt hat zusammen. Hostnamen müssen eindeutig sein und dürfen nicht doppelt vorkommen! Der Generator darf in diesem Fall nicht durch einen Trigger angestoßen werden, der Wert wird aus dem Quellcode des Programms ermittelt und eingetragen. SELECT GEN_ID(SCHLUESSEL,1) FROM RDB$DATABASE Diese Abfrage müßte also von Ihrem Clientprogramm aufgerufen werden um den Wert zusammen mit dem Hostnamen des Rechners der den Datensatz erzeugt gespeichert zu werden. Möglichkeit 2 (Fortlaufende Nummer und Rechnernummer ergeben Primärschlüssel)Wenn sie bereits eine bestehende Datenbank haben kann auch der alte Primärschlüssel um eine neue Spalte (Wir nennen sie mal „Rechner“) ergänzt werden. Hierbei müßte Ihr Programm aber so umgeschrieben werden daß bei jeder Rechnerinstallation eine Rechnernummer mit in diese Spalte gespeichert wird damit die Eindeutigkeit des Datensatzes sichergestellt ist. |
Senden Sie E-Mail mit Fragen oder Kommentaren zu dieser
Website an:
webmaster@ecl-gmbh.de
|