基于信创要求迁移系统的MySQL到Kingbase,人大金仓是基于开源数据库 PostgreSQL数据库的基础上迭代封装,是成立最早的拥有自主知识产权的国产数据库企业,也是中国电子科技集团(简称“CETC”)成员企业。
迁移所关注的主要就是MySQL和人大金仓的兼容性上,把一些人大金仓无法成功的执行的MySQL 中的语句改成能让他执行的语句。
一、适配步骤:
- 由人大金仓的技术人员在我方指定的服务器上,帮助我们安装人大金仓的数据库;
- 提供人大金仓(下面都使用Kingbase替代)的数据库连接工具和相关的技术文档;
- 我方运维人员根据他们提供的数据库迁移手册,将MySQL上的数据迁移到Kingbase中。完成迁移后,会给我一个Kingbase数据库的连接相关信息(url,username,password等)和一份迁移文档。
- 更换驱动
对方技术人员提供了一个驱动jar包,kingbase8-x.x.x.jar ,首先第一步我先将这个jar包上传到了公司私服上,配置到了项目的pom文件中,同时注释掉里面的MySQL驱动。 - 修改数据库连接配置信息,由于我们使用的是Nacos配置中心,直接在acos里进行修改:
spring:
datasource:
driver-class-name: com.kingbase8.Driver # 配置MySQL8的驱动程序类
url: jdbc:kingbase8:/host:port/database?para1=val1...
username: root # 数据库用户名
password: root # 数据库连接密码
二、主要问题
SQL函数的不兼容,如:DATE_ADD、DATE_FORMAT 函数不支持、 isnull(字段名)等,可通过自定义函数解决。
还存在字段类型不兼容,如:TINYINT。
字段名不支持反引号,如:select `name` from A
,需要用双引号包裹"name"。
————————————————
版权声明:本文为CSDN博主「一缕82年的清风」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsqingfeng/article/details/127256737