Soporte para COLMAP

COLMAP soporta los siguientes escenarios:

La replicación solo de columnas específicas es un caso de uso muy común, en el que puede especificar columnas que se deben asignar en el destino de forma explícita.

Por ejemplo, tenga en cuenta que una tabla de origen tiene columnas COL1, COL2, …, COL10 y que solo desea crear COL1 y COL5 en la tabla de destino, puede agregar parámetros similares a los siguientes en el archivo de parámetros de Replicat:

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

Considere los siguientes ejemplos:

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

En este ejemplo, el campo COL10 de la tabla de origen se asigna a EMPNAME en la tabla de destino mediante COLMAP, mientras que el resto de columnas conservan sus nombres originales.

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

En este ejemplo, observe que COLMAP se utiliza para cambiar el nombre de la columna A001 a Å001, que contiene un carácter específico (no soportado).

Una consideración importante al utilizar COLMAP para cambiar el nombre de las columnas es el posible impacto en futuros cambios de esquema. Si se agrega una nueva columna con el mismo nombre, como EMPNAME, a la tabla de origen, el proceso de Replicat fallará porque intenta crear una columna duplicada en el destino.

Si bien existen soluciones alternativas, como la creación de asignaciones adicionales, pueden generar complejidades de mantenimiento. Por lo tanto, se recomienda tener cuidado al cambiar el nombre de las columnas mediante COLMAP. Considere la posibilidad de agregar nuevas columnas con los nombres adecuados para evitar posibles conflictos y garantizar una replicación perfecta.

La siguiente es una posible solución alternativa para abordar este conflicto, sin embargo, se recomienda encarecidamente no confiar en dichas soluciones y, en su lugar, recomendar evitar el escenario por completo seleccionando nombres de columna únicos y compatibles en todas las bases de datos.

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