Support pour COLMAP

COLMAP prend en charge les scénarios suivants :

La réplication de colonnes spécifiques est un cas d'emploi très courant, dans lequel vous pouvez indiquer explicitement les colonnes qui doivent être mises en correspondance dans la cible.

Par exemple, supposons qu'une table source comporte les colonnes COL1, COL2, …, COL10 et que vous voulez uniquement créer COL1 et COL5 dans la table cible, vous pouvez ajouter des paramètres similaires aux suivants dans le fichier de paramètres Replicat :

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

Prenons les exemples suivants :

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

Dans cet exemple, le champ COL10 de la table source est mis en correspondance avec EMPNAME dans la table cible à l'aide de COLMAP, tandis que toutes les autres colonnes conservent leur nom d'origine.

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

Dans cet exemple, notez que COLMAP est utilisé pour remplacer le nom de la colonne A001 par Å001, qui contient un caractère spécifique (non pris en charge).

Lors de l'utilisation de COLMAP pour renommer des colonnes, il est important de prendre en compte l'impact potentiel sur les modifications futures du schéma. Si une nouvelle colonne portant le même nom, telle que EMPNAME, est ajoutée à la table source, le processus de réplication échoue car il tente de créer une colonne en double sur la cible.

Bien qu'il existe des solutions de contournement, telles que la création de mappings supplémentaires, elles peuvent entraîner des difficultés de maintenance. Par conséquent, il est recommandé d'être prudent lorsque vous renommez des colonnes à l'aide de COLMAP. Envisagez d'ajouter de nouvelles colonnes avec les noms appropriés pour éviter les conflits potentiels et assurer une réplication transparente.

Ce qui suit est une solution de contournement possible pour résoudre ce conflit, cependant, il est fortement recommandé de ne pas s'appuyer sur de telles solutions et de recommander plutôt d'éviter le scénario en choisissant des noms de colonne uniques et compatibles dans toutes les bases de données.

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