Todos los productos
Search
Centro de documentos

Data Transmission Service:Habilitar la fusión de varias tablas

Última actualización: Sep 05, 2026

Cuando utiliza Data Transmission Service (DTS) para sincronizar o migrar datos, DTS ofrece una función de fusión de varias tablas si la base de datos destino es AnalyticDB for MySQL 3.0 . Esta función le permite consolidar múltiples tablas con estructuras idénticas en la base de datos de origen y fusionarlas en una sola tabla de datos en la base de datos destino, lo que facilita una migración e integración de datos más eficiente y práctica.

Requisitos previos

Debe haber creado una tarea de migración o sincronización cuyo destino sea AnalyticDB for MySQL 3.0 , y debe haber avanzado hasta el paso Configure Objects and Advanced Settings. Puede consultar los documentos de configuración correspondientes en Synchronization Solution Overview o Migration Solution Overview.

Notas de uso

  • No es posible habilitar la fusión de varias tablas en tareas que tengan activada la verificación de datos.

  • Las tareas incrementales con la fusión de varias tablas habilitada no admiten operaciones DDL. Si ejecuta una operación DDL en la base de datos de origen, podría provocar pérdida de datos o fallos en la tarea.

Procedimiento

En esta sección se describe cómo habilitar la fusión de varias tablas para una instancia de sincronización de datos de DTS.

  1. Vaya al paso Configure Objects and Advanced Settings y configure todos los parámetros anteriores a la sección Merge Tables.

  2. En la sección Merge Tables, seleccione Yes.

  3. Opcional: En Set the value of __dts_data_source, seleccione No.

    Nota

    La personalización del nombre y los valores de la columna de etiqueta solo es compatible con instancias de suscripción.

  4. En el panel Source Objects, seleccione las tablas que desea sincronizar y haga clic en el icono 向右小箭头 para moverlas al panel Selected Objects.

  5. En el panel Selected Objects, haga clic con el botón derecho en una tabla para sincronizarla. En el cuadro de diálogo Edit Table, modifique el Table Name.

    Nota

    El Table Name corresponde al nombre de la tabla en la base de datos de destino.

    El proceso es similar al cambio del Table Name. En el cuadro de diálogo Edit Table, puede cambiar el nombre de la tabla por un nombre de destino (como person_new), establecer una filter condition (que admite cláusulas WHERE estándar de SQL y se aplica tanto a la sincronización completa como a la incremental), seleccionar las DML operations que desea sincronizar (inserción, actualización o eliminación) y elegir las columnas para sincronizar (como p_name y p_id). Al finalizar, haga clic en OK.

  6. Repita el paso anterior para modificar el Table Name de todas las tablas seleccionadas.

    Importante

    Debe especificar el mismo Table Name para todas las tablas que se van a fusionar.

  7. Siga las instrucciones en pantalla y consulte los documentos de referencia para completar la configuración restante de la tarea.

    Si seleccionó Yes en Set the value of __dts_data_source durante el paso 3, también debe configurar el Value of __dts_data_source en el paso Configure Database and Table Fields.

    Nota

    El valor en la columna Value of __dts_data_source debe ser único para cada tabla.

    En la página Configure Database and Table Fields, localice la columna Value of __dts_data_source e introduzca un valor único para cada tabla de origen. Otras columnas disponibles en esta página incluyen Schema Name, Table Name, Type (por ejemplo, tabla particionada), Primary Key Column y Distribution Key.

Preguntas frecuentes

¿Cómo consulto la columna __dts_data_source?

Después de habilitar la fusión de varias tablas, DTS agrega automáticamente una columna __dts_data_source (de tipo texto) a la tabla de destino para registrar el origen de los datos. Utilice la siguiente sintaxis para consultar dicha columna:

SELECT __dts_data_source FROM <destination_table_name>;

El valor devuelto utiliza el formato DTS instance ID:database name:schema name:table name, por ejemplo, dts:dtstestdata:testschema:customer1.

La consulta falla con el mensaje de error "Column cannot be resolved"

Si encuentra este error, compruebe los siguientes puntos:

  1. Verifique si la fusión de varias tablas está habilitada para la tarea de DTS. Si esta opción no está activada, la tabla de destino no contendrá la columna __dts_data_source.

  2. Confirme que está consultando la base de datos de destino y no la de origen.

  3. Asegúrese de que el nombre de la columna utilice un prefijo de doble guion bajo (__dts_data_source), en lugar de uno simple.