Home Nach oben Shop Inhalt Suchen Empfehlungen Anfahrt Impressum AGB's Kontakt Voraussetzungen
Voraussetzungen Arbeitsweise Module Handbuch Download Bestellung

 

 

Wichtige Voraussetzungen

Borland Database Engine 5.*

Interbase-Server bzw. Firebird Server

Datenbanken müssen die gleiche Struktur haben

In der vorliegenden Programmversion ist eine eindeutige Struktur aller zu replizierenden Datenbanken erforderlich. Eine Zuordnung von Spaltenwerten ist nicht möglich bzw. entfällt.

Datenbankübergreifende Eindeutigkeit des Primärschlüssels

Es werden nur Tabellen repliziert die einen Primärschlüssel haben!
Da bei der Replikation auch die Primärschlüssel der jeweiligen Datenbank übernommen werden dürfen keine Trigger in der unten angegebenen Form enthalten sein sofern der Primärschlüssel nur aus dem Integerwert besteht.

CREATE TRIGGER TRIGGERNAME FOR TABELLENAME BEFORE INSERT POSITION 0 AS BEGIN

NEW.GENID = GEN_ID(SCHLUESSEL,1);

END

In diesem Beispiel wäre in der Tabelle „Tabellename“ ein Feld „GENID“ als Integer definiert welches den Primärschlüssel beinhaltet und den Wert aus dem Generator Schluessel holt. Diese Form der Primärschlüsselvergabe ist für eine Replikation nicht geeignet. Stattdessen sollte man die Eindeutigkeit des Primärschlüssels Datenbankübergreifend sicherstellen.

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
Copyright © 1995-2006 ECL Technologies & Consulting GmbH
Stand: 30. August 2014
disclaimer