项目场景:
初用tongweb kongbase v8部署web应用系统因操作问题遇到的报错记录
问题描述
利用kingbase数据库迁移工具,迁移mysql数据至kingbase数据库,报错bold ,tinyint 不存在。
2.使用连接池jdbc链接 kingbase数据库时报错找不到表。
3.kingbase中新建模式报错显示没有权限。
4.从本地kingbase数据库逻辑备份,传到服务器进行逻辑还原时报错
“escape”应在oracal兼容模式下使用。
5.更换完本地kingbase兼容模式从新从mysql迁移,然后备份,在服务器上还原报错,提示“top” “level”。附近有问题。
6.需要手动更新一张表中的数据,数据库表中有一行数据怎么也删不掉。
7.程序运行时报错java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
解决方案:
1.在数据类型映射中将目标目标数据库类型更改为
blod→bytea
tinyint→boolean(迁移成功后在kingbase数据库中改回tinyint,不然在调用数据库数据时可能会报错syntax error at or near “value”).
2.kingbase有默认使用的模式,要在jdbc中指定模式
<driver-url>jdbc:kingbase8://127.0.0.1:54321/数据库?currentSchema=模式名</driver-url>```
3.数据库指定了用户,要使用被指定的用户从新建立连接。
4.两个kingbase数据库虽然版本相同,但是安装数据库时选择的兼容模式不同,安装时默认为oracal兼容模式。从新安装本地的kingbase数据库选择另一种兼容模式。
5.逻辑备份之前在本地的数据库中找到“top”“level”字段,将其大写再加双引号之后还原成功。
6.表中没有外键没有主键没有关联,实在没办法只能删表手动新建一张表。
7.这是表中没有数据,mysql将数据迁移到kingbase时null没有加到表中,需要找到报错的表新建一行数据。