0.确定人大金仓版本,不同版本间区别较大,不完全兼容
以下使用的是v9r1c1b30版本
比如v8版本无法使用auto_increment自增,需要使用serial,同时迁移工具无法转换
迁移工作开始前一定要确定数据库版本!
1.group by字段检测模式
show sql_mode; 查看配置
alter SYSTEM SET sql_mode = 'ANSI_QUOTES'; 去掉ONLY_FULL_GROUP_BY,alter SYSTEM修改全局配置
SELECT sys_reload_conf(); 更新配置生效
2.字段类型隐式转换
人大金仓不会自动转换类型,需要cast()手动转换
否则报invalid input syntax for type XX
3.join后必须带on
select * from a left join b on 1 =1
4.()中文括号会影响语法判断报 syntax error at or near "("
select a.b 逸散排放(制冷剂、变压器SF6) from a
5.activiti工作流5.22版本不支持人大金仓数据库couldn't deduct database type from database product name 'KingbaseES'
参考https://www.cnblogs.com/montaro/p/17956719
不更改版本和源码适配人大金仓
6.与mysql函数冲突
mysql: DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
人大金仓:DATE_SUB(CURDATE(), INTERVAL '1' MONTH)
7.人大金仓客户端安装地址不能有空格,比如c:/program file,否则部分指令执行报错
8.mybats和人大金仓关键字level冲突,报CONNECT BY clause required in this query block,使用@TableField(""level"")解决
9.serial自增主键和和原有数据冲突
性能测试:
kstudio默认配置
5000行/分钟 7000行/分钟