问题类型一:
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 exists或relation "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库确认该表数据是否可以正确查询。