MySQL转DM(DM数据迁移工具)的辛酸之路

迁移的顺序

建议迁移顺序:先表结构,再数据,再约束索引

  • 1、迁移表结构配置
    在这里插入图片描述
  • 2、迁移表数据配置(注意需要勾选 启用标志列插入,否则迁移的数据顺序会错乱)
    在这里插入图片描述
  • 3、 迁移表数据约束索引(注意需要勾选 启用标志列插入,否则迁移的数据顺序会错乱)
    ----- 此刻碰到一堆堆问题,先做出如下总结

迁移lzqs-tm.sql遇到的问题:

  • 1、临时表、分区表不能包含自增列
    原因: 临时表、列存储表、水平分区表、垂直分区表不支持使用自增列。
    方案:需要先删除 MySQL源表的分区 , 再进行迁移

  • 2、在这里插入图片描述

  • – 原因:迁移表中 id 拥有auto_increment属性,但却不是主键,需要修改成主键

  • 3、使用迁移工具后,迁移成功,但是DM数据库却显示无效的表名
    – 这个应该是管理工具的问题,写代码没有考虑到auto_increment这种建表语句,目前建议改为IDENTITY写法 使用低版本的迁移工具可以解决此问题 (没有实际实验)
    在这里插入图片描述

链接:https://pan.baidu.com/s/1_Bflj_PjUV-Zjcc3VhSgYw
提取码:wafh

  • 4、当mysql的表包含索引时,生成的转换sql语句将之间变为UNIQUE(‘字段名’),导致导入时产生唯一约束报错
    在这里插入图片描述

– 这个mysql端是不是既有该列的主键,又有该列的唯一索引,造成的约束冗余,可能这个迁移工具也存在问题,建议手动创建该类型表结构,再使用迁移工具进行迁移(没有实验结果)

  • 5、MYSQL字段包含达梦数据库中的关键字,如rowid,tarid
    这种会导致dts工具在到具体表单时报错无效的列名
    在这里插入图片描述

  • 6、MySQL数据迁移报错:记录超长
    达梦默认初始化数据库的时候页大小是不超过8000个字符,找到接收方的报错的表点击鼠标右键,启动超长记录即可si
    7、达梦中不支持、而MYSQL支持的SQL语法
    1、达梦不支持MySQL中在分组查询group by时,可以不查询分组列/分组列表达式。
    2、达梦不支持MySQL的replace into语法,可以替换成能相似的merge into语句。
    3、达梦不支持mysql 中 order by in 的语法,需要改写。
    4、达梦不支持mysql中的查询随机数 random,可以使用BMS_RANDOM替换。


最后结果,如果想使用DM迁移工具完整的完成迁移,有些地方需要手动修改,达到兼容。果断放弃,暂时考虑使用代码迁移或者其他迁移工具把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值