一、前言:
之前有客户提出,他们项目框架是spring boot + mybatis + sphere sharding + maven,连接达梦数据库,报错“不支持的数据库类型DM DBMS”,使用mysql或Oracle正常。2020年DM做了升级,现在问题已修复,但是在用法上有些需要注意的地方,在此说明一下。
二、问题分析:
应用使用了sharding+druid,这两个第三方工具本身未支持DM数据库。druid在连接创建之前,会先做数据库版本校验,低版本的druid中未把DM类型添加进去,因此会校验不通过,不去连接达梦数据库,目前高版本的druid已添加DM支持。所以,并不是连接不上达梦数据库,而是框架中未添加DM数据库类型的支持。
三、解决方式
解决方式有两种。
1、重写WallFilter,手动添加DM支持,如下图所示:
2、按达梦提供的方法连接
第一步:url连接串jdbc:oracle:thin:@192.168.202.129:5236
第二步:系统目录下添加dm_svc.conf配置文件,文件中添加全局配置COMPATIBLE_MODE=(ORACLE)
四、验证demo:
链接:https://pan.baidu.com/s/1dOCfjtu6xnJFw2nmbElsBw
提取码:o7gc
备注:我写的是简易demo,连接串直接写在Connection方法中,正常jdbc等参数应该配置在application.properties或application.yml中。