Unterstützung für COLMAP

COLMAP unterstützt die folgenden Szenarios:

Das Replizieren nur bestimmter Spalten ist ein sehr häufiger Anwendungsfall, bei dem Sie Spalten angeben können, die explizit im Ziel zugeordnet werden müssen.

Beispiel: Eine Quelltabelle enthält die Spalten COL1, COL2, …, COL10, und Sie möchten nur COL1 und COL5 in der Zieltabelle erstellen. Dann können Sie Parameter wie die folgenden in der Replicat-Parameterdatei hinzufügen:

MAP SRC.TABLE, TARGET TGT.TABLE, COLMAP(COL1 = COL1, COL5 = COL5);

Beachten Sie folgende Beispiele:

MAP SRC.TABLE, TARGET TGT.TABLE, COLMAP (USEDEFAULTS, EMPNAME = COL10);

In diesem Beispiel wird das Feld COL10 aus der Quelltabelle mit COLMAP EMPNAME in der Zieltabelle zugeordnet, während alle anderen Spalten ihre ursprünglichen Namen beibehalten.

MAP SRC.REGION, TARGET TGT.EMPLOYEE, COLMAP (USEDEFAULTS, A001 = Å001);

In diesem Beispiel wird COLMAP verwendet, um den Namen der Spalte A001 in Å001 zu ändern, die ein bestimmtes (nicht unterstütztes) Zeichen enthält.

Ein wichtiger Aspekt bei der Verwendung von COLMAP zum Umbenennen von Spalten ist die potenzielle Auswirkung auf zukünftige Schemaänderungen. Wenn eine neue Spalte mit demselben Namen wie EMPNAME zur Quelltabelle hinzugefügt wird, schlägt der Replicat-Prozess fehl, weil versucht wird, eine doppelte Spalte im Ziel zu erstellen.

Während Workarounds vorhanden sind, wie das Erstellen zusätzlicher Mappings, können sie zu Wartungskomplexitäten führen. Daher sollten Sie beim Umbenennen von Spalten mit COLMAP Vorsicht walten lassen. Fügen Sie neue Spalten mit entsprechenden Namen hinzu, um potenzielle Konflikte zu vermeiden und eine nahtlose Replikation sicherzustellen.

Im Folgenden finden Sie eine mögliche Problemumgehung, um diesen Konflikt zu beheben. Es wird jedoch dringend empfohlen, sich nicht auf solche Lösungen zu verlassen und stattdessen zu empfehlen, das Szenario vollständig zu vermeiden, indem Sie eindeutige und kompatible Spaltennamen in allen Datenbanken auswählen.

MAP SRC.TABLE, TARGET TGT.TABLE, COLMAP (USEDEFAULTS, EMPNAME = COL10, EMPNAME_NEW = EMPNAME);