为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:
【问题描述】*:mysql8 迁移dm8 出问题
1、字符串截断是需要扩大目标端varchar2的长度;
2、违反check约束,需要看下约束的定义,根据定义去对应调整,然后将涉及到的表在目标端清除再重新迁移涉及到的表
字符串阶段,一般是要调整数据或扩大目的端字段长度或修改更大长度类型,可以点击 错误数据,找到错误数据先看下 ,拿到客户端里用insert调试插入看下。
违反check约束,如果不好排查,可以根据情况先禁用或取消约束,迁移数据后,再新建或启用。
1、违反CHECK约束报错:先查看约束针对的列,再检查对应表数据和Mysql源端的数据对比,看插入数据是否有异常,如果没有重复数据则可以先在达梦端清空已迁移数据,禁用该约束后,重新进行数据迁移,最后再启用约束
2、针对字符串截断:可以先查看字符串截断弹窗的详情,查看具体是哪列字符串截断,可以采用在达梦端进行精度扩充后再执行数据迁移
由于dm/mysql字段精度定义不同,因此迁移前可以参考该文章进行字段类型映射
https://eco.dameng.com/community/post/20241029144804QG9F8E3TKMJWVLV07R