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库确认该表数据是否可以正确查询。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将MySQL迁移到人大金仓时,需要注意以下几点。首先,目前只支持迁移MySQL 5.1版本,其他版本可能会导致迁移过程中卡死。如果是高版本的MySQL,建议先将数据库使用Navicat迁移至低版本,然后再使用人大金仓进行迁移。其次,如果在迁移过程中无法检测到所有的表、函数、触发器等内容,可以使用人大金仓的社区工具进行迁移。先迁移数据库结构等内容,最后再利用数据库工具迁移数据。 具体操作步骤如下: 1. 打开人大金仓迁移工具,选中源数据库中所有的表和函数等内容。 2. 将选中的内容拖动到右侧的目标数据库(也称为模式)中。 3. 在右侧可以看到所有的函数、表和触发器等。 4. 确认无误后,点击“确定”按钮,即可完成MySQL迁移到人大金仓的操作。 需要注意的是,以上是基本的迁移步骤,具体操作可能因环境和迁移工具的版本而有所不同。在进行迁移操作之前,建议先备份好原始数据库,以防止数据丢失。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [人大金仓(Kingbase数据库迁移——使用大金仓数据库迁移工具进行迁移](https://blog.csdn.net/csdn_db96/article/details/109166351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值