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

posted @   xiaowu222  阅读(2245)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示