首页/系统/信创系统运维速查/国产数据库 JDBC 驱动对接
迁移适配65 条

国产数据库 JDBC 驱动对接

应用连国产库要换驱动与 URL(达梦/金仓各不相同):驱动 jar、连接池参数与字符集一起回归,压测确认连接池行为。

信创系统运维速查系统更新于 2026-10-13

国产数据库驱动要换什么

应用通过 JDBC 连接数据库时,驱动类名与连接串格式由数据库决定。达梦与金仓各有自己的驱动包与 URL 前缀,迁移到国产数据库意味着这两项都要改,同时连接池的初始化语句、校验语句与超时参数也要重新回归验证,不能只换一个 jar 就上线。

容易忽略的三个参数

字符集决定中文写入是否乱码;连接超时与空闲回收决定业务高峰期连接是否被误断;批量提交大小影响写入吞吐与失败回滚范围。这三项在不同数据库上的默认值与语义并不一致,建议把最终生效值写进交付文档,便于后续换版本时对照。

基本信息

达梦驱动类dm.jdbc.driver.DmDriver
达梦连接串jdbc:dm://主机:5236
金仓驱动类com.kingbase8.Driver
金仓连接串jdbc:kingbase8://主机:54321/库名

典型使用场景

  • 应用从 Oracle 迁移到达梦或金仓后需要替换驱动与连接串
  • 私有仓库缺少国产数据库驱动,需要本地安装依赖
  • 压测阶段发现连接池空闲连接被数据库断开,需要调整保活参数
  • 中文数据写入库后查询显示乱码,需要核对字符集设置
  • 交付时整理最终连接参数,作为运维文档的一部分

驱动与连接串配置

驱动与连接串配置
# 达梦
driver-class-name=dm.jdbc.driver.DmDriver
url=jdbc:dm://127.0.0.1:5236?characterEncoding=UTF-8
# 金仓
driver-class-name=com.kingbase8.Driver
url=jdbc:kingbase8://127.0.0.1:54321/test
# 连接池补充项:最小空闲、最大连接、空闲校验、获取连接超时

驱动安装到本地仓库(示例)

驱动安装到本地仓库(示例)
mvn install:install-file -Dfile=DmJdbcDriver18.jar \
  -DgroupId=com.dameng -DartifactId=DmJdbcDriver18 \
  -Dversion=8.1 -Dpackaging=jar            # 版本与坐标以厂商文档为准
mvn -q dependency:tree | grep -i -E 'dm|kingbase'   # 确认依赖已被正确解析
java -version                              # 记录 JDK 版本,驱动与 JDK 需匹配

参数与影响

参数作用写错后的表现
驱动类名指定数据库驱动实现启动报找不到驱动或类不兼容
URL 前缀标识目标数据库类型协议不识别,直接连接失败
字符集决定中文与特殊字符编码数据写入后查询乱码
连接保活语句校验空闲连接是否可用数据库侧断连后应用报连接失效
获取连接超时连接池等待上限设置过短时高峰期大量请求失败
驱动版本与连接池版本的组合要在测试环境压过再用:混搭组合报错时往往表现为偶发连接异常,日志里看不到明确原因,排查成本很高。压测时同时观察数据库侧的连接数与空闲会话占比。

易错点

  • 只替换驱动 jar 不改连接串,应用启动即报协议不识别,两项必须同步修改
  • 私有仓库中没有国产驱动,构建阶段才发现依赖缺失,应提前把驱动纳入仓库管理
  • 连接串未设字符集,中文写入后显示为乱码,事后修数据代价远大于提前配置
  • 连接池保活参数缺失,数据库空闲回收后应用仍复用失效连接,业务表现为随机报错

数据来源与参考

  • 达梦/金仓官方 JDBC 文档(公开资料)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌