可能原因:目标端的表缺少列。

说明 例如:DTS-30019: Can not find column [name in srcDB, name in destDB ], target table: user.basic_info

表示目标端的user.basic_info表缺少name列。

解决方法:
  • 方法一(推荐):在目标端的表增加缺失的列,然后启动任务。
  • 方法二:
    重要 双向同步任务、目标表有除DTS以外的数据写入、目标端的表为多对一单向同步架构的目标表(包括一个任务的多张表映射到同一张表和多个任务的表映射到同一张表的场景)时不能使用此方法。
    1. 将报错的表从同步对象移除,然后启动任务。移除同步对象的方法,请参见移除同步对象
    2. 分情况采取操作:
      • 如果同步任务有勾选结构同步,在目标端删除表。
      • 如果同步任务没有勾选结构同步,在目标端删除表,然后在目标端重新创建与源端结构一致的表。
    3. 重新把表加入到同步对象。添加同步对象的方法,请参见新增同步对象

后续建议:导致目标端缺少列有多种原因,其中一种原因是:同步链路不支持同步DDL,但在源端增加列。对于这种需求,请先在目标端增加列,然后在源端增加列,就不会导致同步任务失败。