人大金仓适配
Kingbase 数据库适配指南
本文档介绍如何在 tduck-x-platform 项目中集成国产数据库 KingbaseES(人大金仓),当前测试版本为 V009R001C002B0014。
1. 使用 Docker 安装 KingbaseES
Kingbase 提供 Docker 镜像部署方式,可快速完成测试环境搭建。
官方安装文档地址:Docker 安装指南
示例安装命令:
docker run -tid --privileged \
-p 4321:54321 \
-v /mnt/data:/home/kingbase/userdata/ \
-e NEED_START=yes \
-e DB_USER=kingbase \
-e DB_PASSWORD=123456 \
-e DB_MODE=oracle \
--name kingbase \
kingbase_v009r001c002b0014_single_x86:v1
推荐使用 Oracle 模式:
-e DB_MODE=oracle
2. 创建数据库
使用Navicat或者其他工具
地址:localhost(或你的主机 IP)
- 端口:
4321 - 用户名:
kingbase - 密码:
123456 - 数据库类型:PostgreSQL
- 模式选择:
public
创建数据库名称建议统一为:
tduckx
Navicat可以用PgSql的模式链接上去 导入sql的时候把这两个取消,不然会报错

3. 项目配置修改
在项目的配置文件中进行数据库连接配置(application.yml):
spring:
datasource:
url: jdbc:kingbase8://192.168.1.6:4321/tduckx?currentSchema=public,SYS_CATALOG
username: kingbase
password: 123456
driver-class-name: com.kingbase8.Driver
flowable:
database-schema-update: false
async-executor-activate: false
说明:
currentSchema=public,SYS_CATALOG是 Kingbase 要求,必须保留database-schema-update: false禁止 Flowable 自动建表(防止语法不兼容)
4. Flowable 适配补丁(流程引擎使用)
由于 Flowable 原生不兼容 Kingbase,需要应用补丁:
操作步骤:
将以下目录中的源码文件复制到工作流模块:
复制自:
tduck-x-platform/doc/kingbase/flowable-patch/
复制到:
tduck-x-platform/tduck-workflow/src/
确保不漏文件。补丁包含了适配 Kingbase 的建表 SQL 与 Java 代码。
5. 常见问题
问题:连接报错或流程启动失败?
请检查以下几点:
- 数据库连接字符串是否正确(特别是
currentSchema) - 是否关闭了 Flowable 的自动建表功能
- Flowable 补丁是否完整复制
小结
| 项目项 | 状态 | 说明 |
|---|---|---|
| JDBC 驱动 | 已集成 | 使用com.kingbase8.Driver |
| 自动建表支持 | 不支持 | Flowable 不兼容,需手动建表 |
| 补丁支持 | 已提供 | 需复制flowable-patch补丁 |
| 模式建议 | Oracle模式 | 推荐使用 Oracle 兼容模式部署 |