暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JDBC应用如何连接达梦数据库?

原创 The丶hua 2022-08-25
4997

1参考手册

DM JDBC的详细使用规范,可参考手册《DM8程序员手册》——第4章DM JDBC 编程指南。

2 JDBC连接集群

hibernate方言包驱动在/data/dmdbms/drivers/jdbc/dialect目录下,用户可根据开发环境选择对应的方言包版本。

(1) 应用系统连接的数据库环境为单机

//定义 DM JDBC 驱动串

  String jdbcString  = "dm.jdbc.driver.DmDriver";

//定义 DM URL 连接串

 String urlString  = "jdbc:dm://IP:端口";

//定义 DM 用户连接串

String userString = “SYSDBA”;

//定义 DM 密码连接串

String pwdString = “SYSDBA”;

 

(2) 应用系统连接的数据库环境为数据守护GRP1,为保障应用系统实现故障自动重连,JDBC url串需要配置为以服务名的方式连接数据库。

--连接GRP1库  

//定义 DM JDBC 驱动串

  String jdbcString  = "dm.jdbc.driver.DmDriver";

//定义 DM URL 连接串

 String urlString  = "jdbc:dm://GRP1";

//定义 DM 用户连接串

String userString = “SYSDBA”;

//定义 DM 密码连接串

String pwdString = “SYSDBA”;

可以通过编辑 dm_svc.conf 文件,配置连接服务名。dm_svc.conf 配置文件在 DM安装时生成,Windows 平台下位于%SystemRoot%\system32 目录,Linux 平台下位于/etc 目录。

应用服务器上,/etc/dm_svc.conf配置如下:

GRP1=(xx.xx.xx.xx:32141,xx.xx.xx.xx:32142)

[GRP1]

TIME_ZONE=(+480)

LOGIN_MODE=(1)

SWITCH_TIME=(3)

SWITCH_INTERVAL=(200)

LOGIN_MODE:服务名方式登录,始终会优先登录主库;LOGIN_MODE 表示是否仅登录主库或者备库,可以配置为 0、1 或 2。2表示不登录 Standby 模式的库,如果系统中只有 Standby 模式的库,登录失败并报错。

SWITCH_TIME:检测到数据库实例故障时,接口在服务器之间切换的次数;超过设置次数没有连接到有效数据库时,断开连接并报错。

SWITCH_INTERVAL:表示在服务器之间切换的时间间隔,单位为毫秒。

(3) 以应用系统连接的数据库环境为读写分离GRP2为例,为保障应用系统实现故障自动重连,JDBC url串需要配置为以服务名的方式连接数据库。

--连接GRP2库  

//定义 DM JDBC 驱动串

  String jdbcString  = "dm.jdbc.driver.DmDriver";

//定义 DM URL 连接串

 String urlString  = "jdbc:dm://GRP2";

//定义 DM 用户连接串

String userString = “SYSDBA”;

//定义 DM 密码连接串

String pwdString = “SYSDBA”;

可以通过编辑 dm_svc.conf 文件,配置连接服务名。dm_svc.conf 配置文件在 DM安装时生成,Windows 平台下位于%SystemRoot%\system32 目录,Linux 平台下位于/etc 目录。

应用服务器上,/etc/dm_svc.conf配置如下:

GRP2=(xx.xx.xx.xx:32141,xx.xx.xx.xx:32142)

[GRP2]

TIME_ZONE=(+480)

LOGIN_MODE=(1)

SWITCH_TIME=(3)

SWITCH_INTERVAL=(200)

RW_SEPARATE=(1)

RW_PERCENT=(25)

LOGIN_MODE:服务名方式登录,始终会优先登录主库;LOGIN_MODE 表示是否仅登录主库或者备库,可以配置为 0、1 或 2。2表示不登录 Standby 模式的库,如果系统中只有 Standby 模式的库,登录失败并报错。

SWITCH_TIME:检测到数据库实例故障时,接口在服务器之间切换的次数;超过设置次数没有连接到有效数据库时,断开连接并报错。

SWITCH_INTERVAL:表示在服务器之间切换的时间间隔,单位为毫秒。

RW_SEPARATE:表示是否启动读写分离,0表示不启动,1表示启动,默认为0。

RW_PERCENT:表示读写分离分发比例,有效值范围0~100,默认25。

3 JDBC驱动版本

所有应用端,统一升级达梦JDBC驱动包版本至DmJdbcDriver18.jar,该驱动包位于/data/dmdbms/drivers/jdbc目录下。

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论