以下报错发生场景:DM数据迁移工具 V8 (Build 2022.09.14) 将KingbaseV8R6迁移到DM8,新版DM数据迁移工具 V8已完善。
1、DTS迁移过程中提示连接数据库失败
问题描述
DM数据迁移工具 V8 (Build 2022.09.14) 将KingbaseV8R6迁移到DM8过程中,配置源端信息库连接提示连接数据库失败:


明明数据库信息是正确的,通过数据库连接工具也能访问
问题分析
由于DTS工具版本较老,嵌入的驱动版本老导致,新版本已不存在该问题
解决办法
更换DTS工具为新版本,若不能更换,按以下办法解决:使用KingbaseV8R6匹配的驱动kingbase8-8.6.0.jar
- 指定驱动

- 选择匹配的驱动-->驱动类名中更改如下-->URL默认灰色不能更改,勾选使用自定义URL后更改

2、DTS迁移过程中提示获取对象失败
问题描述
DM数据迁移工具 V8 (Build 2022.09.14) 将KingbaseV8R6迁移到DM8过程中,配置好源端和目标端数据源后,迁移对象界面显示获取对象失败。该问题出现在老版本,由于是云上提供的工具且多个客户共用该云,无法更换成新版本DM数据迁移工具 V8。
场景:迁移模式:Kingbase-->DM;
驱动:采用KingbaseV8R6匹配的驱动版本


选择模式和对象后,下一步报错:获取对象信息出错

问题原因
由于DTS工具版本较老导致,新版本已不存在该问题
解决办法
更换DTS工具为新版本,若不能更换,按以下办法解决:将迁移方式从Kingbase-->DM更换成PostgreSQL-->DM

指定驱动中更换成高版本pg驱动

输入数据源信息,下一步不报错

3、DTS迁移过程中迁移表结构提示DEFAULT约束表达式无效
问题描述
DM数据迁移工具 V8 (Build 2022.09.14) 将KingbaseV8R6迁移到DM8迁移结束后,显示表创建失败


错误号: -2670
错误消息: 第17 行附近出现错误:
对象[LOG_NR_]DEFAULT约束表达式无效
---------------------------------
CREATE TABLE "SUCCEZBI"."SZSYS_1_ACT_EVT_LOG"
(
"LOG_NR_" INT DEFAULT SZSYS_1_ACT_EVT_LOG_LOG_NR__seq.nextval
NOT NULL,
"TYPE_" VARCHAR(64) NULL,
"PROC_DEF_ID_" VARCHAR(64) NULL,
"PROC_INST_ID_" VARCHAR(64) NULL,
"EXECUTION_ID_" VARCHAR(64) NULL,
"TASK_ID_" VARCHAR(64) NULL,
"TIME_STAMP_" TIMESTAMP(6) NOT NULL,
"USER_ID_" VARCHAR(255) NULL,
"DATA_" BLOB NULL,
"LOCK_OWNER_" VARCHAR(255) NULL,
"LOCK_TIME_" TIMESTAMP(6) NULL,
"IS_PROCESSED_" SMALLINT DEFAULT 0
NULL
)问题原因
由于DTS工具版本较老导致,新版本已不存在该问题
解决办法
更换DTS工具为新版本,若不能更换,按以下办法解决:将以上SQL手动在目标端达梦库中创建可成功,最后单独对该表迁移数据:

4.DTS迁移过程中部分约束提示无效的模式名[public]
问题描述
DM数据迁移工具 V8 (Build 2022.09.14) 将KingbaseV8R6迁移到DM8迁移结束后,显示部分约束创建失败


错误号: -2103
错误消息: 第1 行附近出现错误:
无效的模式名[public]
---------------------------------
ALTER TABLE "SUCCEZBI"."SZSYS_1_ACT_GE_BYTEARRAY" ADD FOREIGN KEY("DEPLOYMENT_ID_") REFERENCES "public"."SZSYS_1_ACT_RE_DEPLOYMENT"("ID_");问题原因
由于DTS工具版本较老导致,模式转换不成功,新版本已不存在该问题
解决办法
将以上SQL改写成如下后在目标库手动执行
ALTER TABLE "SUCCEZBI"."SZSYS_1_ACT_GE_BYTEARRAY" ADD FOREIGN KEY("DEPLOYMENT_ID_") REFERENCES "SUCCEZBI"."SZSYS_1_ACT_RE_DEPLOYMENT"("ID_");



