Seite 1 von 1

ADS Replication / Primary Key / Error 5042

Verfasst: Di, 07. Sep 2021 19:43
von Udo
Hallo,

angeregt durch die Trigger Diskussion hier im Forum bin ich auf das Thema "Replication" aufmerksam geworden.
Voraussetzung für Replication ist die Nutzung eines DataDictionary (DD).

Bisher habe ich noch nicht mit dem DD gearbeitet, sondern eine eigene Stukturbeschreibungstabelle FILES.STR genutzt. Inzwischen habe ich gelernt, dass ich mit dem (für mich) neuen EXTERN Befehl ganz gut auf Funktionen der ACE32.DLL zugreifen kann. Mit den darin enthaltenen AdsDDCreate() und AdsDDAddTable() erzeuge ich aus meiner FILES.STR ein DD, in dem alle verwendeten Tabellen und Indexdateien (NTX) gelistet werden. Das DD kann ich mit dem Data Architect öffnen.

Wenn ich es richtig verstanden habe, benötige ich später für Publication und Subscription die Definition eines "Primary Key" für jede Tabelle. In meinem Tool möchte ich, nachdem das DD mit DBF und NTX erzeugt ist, mit der Funktion AdsDDSetTableProperty() definieren, welcher Index den Primary Key beinhaltet. Leider erzeugt das nur den

Error 5042: The requested feature has not yet been implemented.

Hat jemand einen Tipp, was mir diese Fehlermeldung sagen will?
Oder anders, was muss ich tun um den Primary Key im DD, am besten über eine Funktion, zu definieren.

Glück Auf!
Udo Raiser

Re: ADS Replication / Primary Key / Error 5042

Verfasst: Di, 07. Sep 2021 20:31
von ramses
Hallo

die Fehlermeldung will dir sagen dass du eine Funktion oder Feature aufgerufen hast das zur Zeit noch nicht eingebaut (Verfügbar) ist.

Re: ADS Replication / Primary Key / Error 5042

Verfasst: Mi, 08. Sep 2021 8:01
von nightcrawler
Hallo Udo,
Dein Enthusiasmus mit der API ist bemerkenswert ... von meiner Seite aus würde ich das ganze aber auf SQL umstellen. Dann kannst Du die einzelnen Bestandteile im Data Architect testen.
Ich bin mir nicht sicher, aber es könnte mit den NTX zusammenhängen. Die haben im ADS gegenüber CDX viele Nachteile.
Einen primary key zu setzen benötigt eine Eindeutigkeit, die bei DBF sowieso nicht gegeben ist. Ein Primary Key ist aber für Replication nicht notwendig, man kann die Felder zur Identifizierung frei wählen (auch eine Kombination).