SpringBoot整合Jpa+kingbase人大金仓数据库 部署心得

368 阅读2分钟

一、概述

  最近实习公司在推进现有项目的国产化替代,需要将原项目所用的Mysql数据库迁移到Kingbase人大金仓国产数据库。在根据网上现有教程JPA整合Kingbase的步骤操作下来遇到若干报错,整理成文记录一下以便后人查阅规避。

  由于这篇文章是在踩坑之后过了好久才写的,所以有些问题并没有当时情况的配图,叙述也可能会有不严谨,但要是遇见了同样的问题来回看文章一定可以解决。

二、心得

1.Kingbase 授权文件

  在安装完人大金仓的数据库之后,利用官方自带的KStudio数据库开发工具进行数据库操作的时候,包括之后使用JPA配置并连接数据库后,对数据库进行增删改查的时候,偶然会遇见操作不成功报错,在查看kingbase的日志文件(路径在 \data\sys_log 目录下)后会发现有 :

HKT [26568] FATAL: 对不起, 已经有太多的客户

微信截图_20240905162414.png

  这个报错实际上是由于当前使用的 Kingbase 授权文件使用的开发者过多。

微信截图_20240905162522.png   解决办法也很玄学,就是去官网重新下载授权文件并替换,如果还是会出现这个报错那么尝试下载企业版的试用授权文件替换即可。

2.JPA-application.yml配置

  这部分直接cv即可,需要注意的地方:

  • drivername不要填写错
  • url库名填写正确
  • username要跟hibernate.default_schema保持一致,因为人大金仓的数据库存储模式是先建立用户再创建模式,用户跟模式关联之后,在数据库目录对应模式下才可以建表存放数据。这两部分的内容要一致若不一致会出问题(这部分还是没有太深入去理解,仅从应用层面来说保持一致不会出问题)
  • hibernate方言要改成kingbase对应的方言
  • 其余选项按实际要求修改
  • 注意数据库密码要填写正确!!!有时候报各种奇怪错误最后都是因为密码填错。

微信截图_20240905163543.png

数据库版本选择(上正确 下错误)

微信截图_20240905163636.png

目标数据库版本选择错误迁移失败报错