sharding+druid连接dm8方式说明
一、前言:
之前有客户提出,他们项目框架是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)。
windows环境dm_svc.conf放在C:\Windows\System32下,linux环境dm_svc.conf放在/etc下。
web应用部署在哪里就把dm_svc.conf放在哪台服务器上。如果web应用是分布式部署,假设部署在三台机器上,那么这三台机器都要添加dm_svc.conf文件。


四、验证demo:
链接:https://pan.baidu.com/s/1VoEm-Dv_DOoVwdCaR8u-2g
提取码:rnob
备注:我写的是简易demo,连接串直接写在Connection方法中,正常jdbc等参数应该配置在application.properties或application.yml中。
注意:最好用安装达梦数据库后自带的jdbc驱动,不然可能会造成连接失败。

更多资讯请上达梦技术社区了解: https://eco.dameng.com

浙公网安备 33010602011771号