单库示例:
单个参数:
jdbc:dm://192.168.100.100:5236?SCHEMA=SYSDBA
或 多个参数之间用连接符号:&
jdbc:dm://192.168.100.100:5236?SCHEMA=SYSDBA&LOGINMODE=4
集群示例(IP:PORT 改为集群服务名)《集群服务名配置 点我》:
jdbc:dm://DM_SERVER?SCHEMA=SYSDBA&LOGINMODE=4
格式:
jdbc:dm://ip:portjdbc:dm://ip:port?参数名=参数值jdbc:dm://ip:port?参数名=参数值&参数名=参数值&参数名=参数值驱动名:dm.jdbc.driver.DmDriver
程序员手册介绍:
4.5.4 DM 扩展连接属性的使用
连接串中可以设置的属性及其说明见下表。
表 4.1 JDBC 连接串属性
属性名称 | 说明 | 是否必须设置 |
user | 登录用户 | 是 |
password | 登录密码 | 是 |
host | 主库地址,包括 IP 地址、localhost 或者配置文件中主库地址 列表对应的变量名,如 dm_svc.conf 中的‟o2000‟ | 否 |
port | 端口号,服务器登录端口号 | 否 |
unixSocketFile | LINUX 系 统 中 , 当 服 务 器 与 客 户 端 之 间 使 用UNIXSOCETUNIX-IPC 方式通信时,用于指定客户端连接的UNIXSOCKET 路径文件名。使用 unixSocketFile 时,不需要指定 host 和 port。例如:jdbc:dm://?user=SYSDBA&password=SYSDBA &unixSocketFile=/home/te/foo.sock | 否 |
appName | 客户端应用程序名称 | 否 |
osName | 操作系统名称 | 否 |
socketTimeout | 网 络 通 信 链 路 超 时 时 间 ;单位 ms , 有效值范围0~2147483647,0 表示无限制;默认 0; | 否 |
sessionTimeout | 会话超时时间;单位 s,有效值范围 0~2147483647,0 表示无限制;默认 0; | 否 |
connectTimeout | 连接数据库超时时间;单位 ms,有效值范围 0~2147483647, 0 表示无限制;默认 0; | 否 |
StmtPoolSize | 语句句柄池大小;有效值范围 0~2147483647,0 表示关闭;默认 15; | 否 |
PStmtPoolSize prepare | 语句句柄池大小;有效值范围 0~2147483647,0 表示关闭;默认 0; | 否 |
pstmtPoolValidTime prepare | 语句缓存的有效时间;单位 ms, 有效值范围 0~2147483647,0 表示无限制;默认 0; | 否 |
escapeProcess | 是否进行语法转义处理;取值 1/0 或 true/false;默认 true; | 否 |
autoCommit | 是否自动提交;取值 1/0 或 true/false;默认 true; | 否 |
alwayseAllowCommit | 在自动提交开关打开时,是否允许手动提交回滚;取值1/0 或true/false;默认 true; | 否 |
localTimezone | 指定客户端本地时区,对于本地时区相关时间类型会自动完成服务器时区与本地时区的转换;单位分钟,有效值范围-720~720;默认为当前系统时区; | 否 |
maxRows | 结果集行数限制,超过上限结果集截断;有效值范围0~2147483647,0 表示无限制;默认 0; | 否 |
bufPrefetch | 结果集 fetch 预取消息 buffer 大小;单位 KB,有效值范围32~65535。默认 0 表示按服务器配置,若结果集上指定了fetchSize 会自动预估大小; | 否 |
LobMode | 大字段数据获取模式;1 表示 get 数据时从服务器段获取,2 表示结果集生成时将大字段数据完整缓存到本地;默认 1; | 否 |
ignoreCase | 结果集列名是否忽略大小写;取值 1/0 或 true/false;默认true; | 否 |
continueBatchOnError | 批量执行出错时是否继续执行;默认 false;取值(true/True,false/False) | 否 |
batchType | 批处理模式;1 表示批量绑定执行 2 表示一行一行执行;默认 1; | 否 |
resultSetType | 指 定 默 认 创 建 结 果 集 类 型 ;取值为 java 标准中的ResultSet.TYPE_FORWARD_ONLY ,ResultSet.TYPE_SCROLL_INSENSITIVE ,ResultSet.TYPE_SCROLL_SENSITIVE ,默认ResultSet.TYPE_FORWARD_ONLY | 否 |
dbmdChkPrv | 编目函数是否进行权限检测;取值 1/0 或 true/false;默认true; | 否 |
isBdtaRS | 是否使用列模式结果集,需同步服务器开启该功能;取值 1/0 或 true/false;默认 true; | 否 |
clobAsString | clob 类型列调用resultSetMetaData的getColumnType()映射为Types.VARCHAR 类型;取值 1/0 或 true/false;默认 false; | 否 |
columnNameUpperCase | 列名转换为大写字母;取值 1/0 或 true/false;默认 false; | 否 |
compatibleMode | 兼容其他数据库;取值为数据库名称:oracle 表示兼容 oracle,mysql 表示兼容 mysql; | 否 |
schema | 指定用户登录后的当前模式,默认为用户名的默认模式 | 否 |
loginMode | 指定优先登录的服务器模式。0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接主库;2:只连接备库;3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式;默认 4; | 否 |
loginStatus | 服务名方式连接数据库时只选择状态匹配的库;0 表示不限制;3 表示 mount 状态;4 表示 open 状态;5 表示 suspend 状态;默认 0; | 否 |
loginDscCtrl | 服务名连接数据库时只选择 dsc control 节点的库;取值 1/0 或 true/false;默认 false; | 否 |
epSelector | 服务名连接数据库时采用何种模型建立连接;0 表示依次选取列表中的不同节点建立连接,使得所有连接均匀地分布在各个节点上;1 表示选择列表中最前面的节点建立连接,只有当前节点无法建立连接时才会选择下一个节点进行连接;默认 0; | 否 |
doSwitch | 若使用服务名方式连接数据库,且服务名中配置了多个 ip,当连接发生异常时是否自动切换到其他库,无论切换成功还是失败都会抛一个 SQLException,用于通知上层应用进行事务执行失败时的相关处理;0 表示关闭连接;1 表示自动切换到其他库;2 配合 epselector=1 使用,如果服务名列表前面的节点恢复了,将当前连接切换到前面的节点上; | 否 |
switchTimes | 服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数;有效值范围1~2147483647;默认 1; | 否 |
switchInterval | 服务名连接数据库时,若遍历了服务名中所有库列表都未找到符合条件的库成功建立连接,等待一定时间再继续下一次遍历;单位 ms,有效值范围 0~2147483647;默认 1000; | 否 |
cluster | 配合 auto_reconnect=2、epselector=1 使用,用于检测 DSC 集群节点故障恢复是否成功。取值:DSC,说明用于DSC 环境中; | 否 |
dbAliveCheckFreq | 检测数据库是否存活的频率 ;单位 ms,有效值范围0~2147483647,0 表示不检测;默认 0; | 否 |
compress | 是否压缩消息;0 表示不压缩;1 表示完全压缩;2 表示优化的压缩;默认 0; | 否 |
compressID | 消息压缩算法标识,最终与服务器支持情况协商决定;0 表 示 zip;1 表示 snappy; 默认 0; | 否 |
sslFilesPath | 数据库端开启 ssl 通信加密,该参数指定 ssl 加密文件的路径 | 否 |
sslKeystorePass | 数据库端开启 ssl 通信加密,该参数指定 ssl 加密文件的指令 | 否 |
kerberosLoginConfPath | 用户名加前缀”///”标识开启 Kerberors 认证,该参数指定Kerberors 认证登录配置文件路径 | 否 |
uKeyName | Ukey 的用户名 | 否 |
uKeyPin | Ukey 的口令 | 否 |
cipherPath | 第三方加密算法引擎所在路径 | 否 |
OsAuthType | 指定操作系统认证用户类型,开启操作系统认证时,用户名使用系统用户名。0 表示关闭;1 表示 DBA;2 表示 SSO; 3 表示 AUDITOR;4 表示自适应。默认 0 | 否 |
loginEncrypt | 是否进行通信加密;取值 1/0 或 true/false;默认 true; | 否 |
loginCertificate | 该参数用于指定 dmkey 工具生成的公钥文件路径,非加密通信的情况下,可对登录用户名密码进行增强加密; | 否 |
mppLocal | 是否 MPP 本地连接;取值 1/0 或 true/false;默认 false; | 否 |
mppOpt | Mpp 集群批量插入数据的优化处理;范围 0~1;默认 0; | 否 |
rwSeparate | 是否使用读写分离系统;0 表示不启用;1 表示启用;2 表示启用,备库由客户端进行选择,且只会选择服务名中配置的节点。默认 0 | 否 |
rwPercent | 分发到主库的事务占主备库总事务的百分比;单位%,范围0~100;默认 25; | 否 |
rwAutoDistribute | 读写分离系统事务分发是否由 JDBC 自动管理;取值 1/0 或true/false;默认 true;false:事务分发由用户管理,用户可通过设置连接上的 readOnly 属性标记事务为只读事务; | 否 |
rwHA | 是否开启读写分离系统高可用;取值 1/0 或 true/false;默认false; | 否 |
rwStandbyRecoverTime | 读写分离系统备库故障恢复检测间隔,单位 ms,有效值范围 0~2147483647,0 表示不回复;默认 60000 | 否 |
enRsCache | 是否开启结果集缓存;取值 1/0 或 true/false;默认 false; | 否 |
rsCacheSize | 设置结果集缓冲区大小,以 M 为单位。有效值范围 1~65535,如果设置太大,可能导致空间分配失败,进而使缓存失效 | 否 |
rsRefreshFreq | 结果集缓存检查更新的频率,以秒为单位,有效值范围0~10000,如果设置为 0,则不需检查更新; | 否 |
keyWords | 标识用户关键字,所有在列表中的字符串,如果以单词的形式出现在 sql 语句中,则这个单词会被加上双引号;默认为空串 | 否 |
logDir | 日志等其他一些 JDBC 过程文件生成目录,默认为 jvm 当前工作目录; | 否 |
logLevel | 生成日志的级别,日志按从低到高依次如下(off:不记录;error:只记录错误日志;warn:记录警告信息;sql:记录 sql执行信息;info:记录全部执行信息;all:记录全部),高级别同时记录低级别的信息;默认 off; | 否 |
logFlushFreq | 日志刷盘频率;单位 s,有效值范围 0~2147483647;默认 60; | 否 |
statEnable | 是否启用状态监控;取值 1/0 或 true/false;默认 false; | 否 |
statDir | 状态监控信息以文本文件形式输出的目录,默认为 jvm 当前工作目录; | 否 |
statFlushFreq | 状态监控统计信息写文件刷盘频率;单位 s,有效值范围0~2147483647;0 表示不写文件;默认 10; | 否 |
statSlowSqlCount | 统计慢 sql top 行数;有效值范围 0~1000;默认 100; | 否 |
statHighFreqSqlCount | 统计高频 sql top 行数;有效值范围 0~1000;默认 100; | 否 |
statSqlMaxCount | 状态监控可以统计不同 sql 的个数;有效值范围 0~100000;默认 100000; | 否 |
statSqlRemoveMode | 执行的不同 sql 个数超过 statSqlMaxCount 时使用的淘汰方式;取值 latest/eldest;latest 表示淘汰最近执行的 sql,eldest表示淘汰最老的 sql;默认 eldest; | 否 |
dmsvcconf | 指定 url 属性配置文件所在路径; | 否 |
dbAliveCheckTimeout | 检测数据库是否存活的连接超时时间,如果该时间内未连接成 功 即 认 为 数 据 库 故 障 ; 单 位 ms ,有效值 范 围1~2147483647;默认 10000; | 否 |
check_freq | 服务名连接数据库时,循环检测连接是否需要重置的时间间隔。即每隔一段时间,当连接对象发生改变,JDBC 连接会自动重置到新对象。单位 ms,有效值范围 0~2147483647。默认值300000 | 否 |
除了标准 JDBC 接口功能,DM 扩展了一些具有自身特点的功能处理特性,这些特性可以通过在连接串上设置连接属性进行控制。
连接串的书写格式有以下两种:
- host、port 不作为连接属性,此时只需输入值即可。
格式:
jdbc:dm [: //host][:port][?propName1=propValue1][& propName2=propValue2]….
注:
1) 若 host 不设置,则默认为‘localhost’
2) 若 port 不设置,则默认为‘5236’
3) 若 host 不设置,则 port 一定不能设
4) 若 user、password 没有单独作为参数传入,则必须在连接属性中传入
5) 若 host 为 ipv6 地址,则应包含在[]中
例:
jdbc:dm://192.168.0.96:5236?LobMode=1
- host、port 作为连接属性,此时必须按照表 4.1 中说明进行设置,且属性名称大小
写敏感。
格式:
jdbc:dm:// [?propName1=propValue1] [ & propName2=propValue2] [&…]…
注:
1) host、port 设置与否,以及在属性串中的位置没有限制
2) 若 user、password 没有单独作为参数传入,则必须在连接属性中传入
例:
jdbc:dm:// ?host=192.168.0.96&port=5236
来源地址:https://blog.csdn.net/qq_37358909/article/details/126950483