mysql至金仓迁移问题

问题类型一:

relation "xxx" does not exist

问题原因分析:

创建外键索引和视图时涉及到的相关表不存在,导致创建失败。

修改建议:

在源端确认表是否存在。

问题类型二:

syntax error at or near ")"  Position: xxx

问题原因分析:

该报错出现在创建视图语句中(a join b) where这个位置,由于金仓和mysql的sql语法差异导致的报错。

修改建议:

where改成on,(a join b)外面的括号去掉。

问题类型三:

duplicate key value violates unique constraint "pg_type_typname_nsp_index"  Detail: Key (typname, typnamespace)=(xxx, 19406) already existsrelation "xxx" already exists

问题原因分析:

该报错是共用临时表引起的,可能前一张表在建完临时表删除了,后一张正好用到同名临时表导致争夺时报错,实际在数据库中语句执行成功。

修改建议:

系迁移工具导致,该报错可以忽略。

问题类型四:

invalid byte sequence for encoding "UTF8": 0x00

问题原因分析:

0x00是ASCII码的0值,代表null,迁移时默认会对数据进行空值检查,金仓库提供配置参数ignore_char_null_check=on,跳过空值检查。

修改建议:

配置文件kingbase.conf中添加参数ignore_char_null_check=on,重启数据库再迁移。

问题类型五:

there is no unique constraint matching given keys for referenced table "xbd_equip_type"

问题原因分析:

该报错出现在创建外键语句中,由于引用的目标列不是唯一索引。

修改建议:

手动将目标列更改为唯一索引列,重新迁移报错表。

问题类型六:

length for type varchar must be at least 1

问题原因分析:

建表语句中存在列的类型为varchar(0),金仓库不支持该类型。

修改建议:

修改varchar(0)为varchar。

问题类型七:

Failed to read table data - 

问题原因分析:

该报错为无法读取数据内容。

修改建议:

在mysql库确认该表数据是否可以正确查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值