首页 数据库

分享一些在日常中使用DTS迁移工具过程中将金仓数据库迁移到达梦8过程中出现的报错处理:
1.源端表中会有大字段TEXT在迁移到达梦时表结构会改变导致数据无法导入直接在管理工具修改表结构也会无法修改,报错:长度超出记录和修改表失败。
解决:将源端建表语句拿出与达梦端建表语句进行比对,将大字段的列修改为TEXT,重建表,然后再次迁移数据,问题解决。

2.在迁移数据过程中会有系统错误,对比表结构发现表结构一致。
083c12d945f5cf835e9092d8ed9b3a4.png

解决:使用金仓自带的逻辑备份还原工具,将报错表导出到sql,再进行插入,问题解决。

3.在表中添加check约束时报无效的check表达式
解决:将sql改成普通的check in表达式即可
微信图片_20210419153549.jpg
4.百分号前的~~导致语法分析出错
9605a489416064818b347da28660c7c.png

解决:将~~改为like,问题解决

5.sql中<> ALL导致语法分析出错
解决:将<> ALL 改为NOT,问题解决

6.报错:对象[SYS_DATE]DEFAULT约束表达式无效
解决:改为DEFAULT NOW并将后面字符串删除即可,问题解决

7.触发器问题,触发器在导入后编译时报错,错误的对象名前缀
解决:修改dm.ini文件中的EXCLUDE_DB_NAME,添加数据库名进行过滤,问题解决

8.[ARRAY]附近出现错误[-2007]:
111111.png
2222211.png

9.迁移函数报错,将CHARACTER VARYING改成VARCHAR,将RETURNS改为RETURN
yuan.png

mudi.png


文章评论