连接字符串格式
JDBC连接字符串的完整格式:
>>-jdbc:gbasedbt-sqli://-hostname:portnum--/database_name:------> >--+--------------------------------+---------------------------> '-USER=userid;-PASSWORD=password-' >--+----------------------------+-------------------------------> '-GBASEDBTSERVER=servername;-' >--+-----------------------------------------------------------+->< | .-;-----------. | | V | | '-CSM=(SSO=database_server@realm,ENC=true)}---;name=value-+-'
其中name=value支持的变量参考《GBase 8s JDBC Driver 程序员指南》,这里不详细介绍,这里使用到的包含以下:
| 支持的变量 | 变量说明 |
|---|---|
| APPENDISAM | 设置为true时,输出ISAM错误号 |
| DELIMIDENT | 设置为y时,指定由双引号包围的字符串为定界的标识符 |
| ENABLE_HDRSWITCH | 设置为true时,如果主节点不可用时,则连接到本地高可用节点(HAC) |
| IFX_ISOLATION_LEVEL | 定义隔离级别,默认是2(Committed Read) 0 等同于TRANSACTION_NONE 1 Dirty Read(等同于TRANSACTION_READ_UNCOMMITTED) 2 Committed Read(等同于TRANSACTION_READ_COMMITTED) 3 Cursor Stability(等同于TRANSACTION_READ_COMMITTED) 4 Repeatable Read(等同于TRANSACTION_REPEATABLE_READ) 5 Committed Read LAST COMMITTED(等同于TRANSACTION_LAST_COMMITTED) 8 等同于TRANSACTION_SERIALIZABLE 在模式之后指定U表示保留更新锁 |
| IFX_LOCK_MODE_WAIT | 设置锁等时长,默认是0(不等待) -1 等待,直到释放锁为止 0 不等待,结束操作,并返回错误 nn 等待nn秒,超时返回错误 |
| IFXHOST | 设置主节点主机名称或者主机IP地址 |
| IFXHOST_SECONDARY | 设置本地高可用节点(HAC)的主机名称或者主机IP地址 |
| GBASEDBTCONRETRY | 指定连接尝试的最大次数 |
| GBASEDBTCONTIME | 指定连接至数据库服务器的超时时间 |
| GBASEDBTSERVER | 指定连接的缺省的数据库服务名称 |
| GBASEDBTSERVER_SECONDARY | 指定连接的本地高可用节点(HAC)数据库服务名称 |
| LOGINTIMEOUT | 确定数据库是否运行的超时时间,注:此参数的单位是毫秒 |
| PORTNO | 指定主节点服务器使用的端口号 |
| PORTNO_SECONDARY | 指定HAC数据库服务器使用的端口号 |
| SQLH_TYPE | 当设置为FILE时,指定使用sqlhosts文件中的数据库信息 |
| SQLH_FILE | 指定sqlhosts的全路径 |
| DB_LOCALE | 指定访问数据库使用的数据库字符集 |
| CLIENT_LOCALE | 指定访问数据库使用的客户端字符集 |
连接字符串说明
按照以下sqlhosts文件的内容,解释连接字符串的使用
# GBASEDBTSERVER, gbase01为PRI,gbase02为HAC grp_app group - - i=1,e=gbase02 gbase01 onsoctcp 192.168.80.101 9088 g=grp_app gbase02 onsoctcp 192.168.80.102 9088 g=grp_app # SLA grp_cm group - - i=11,e=oltp2 oltp1 onsoctcp 192.168.80.101 9098 g=grp_cm oltp2 onsoctcp 192.168.80.102 9098 g=grp_cm
连接至具体的数据库服务
直连到数据库服务的启动端口(以下仅显示最少的参数,DB_LOCALE等不显示)
jdbc:gbasedbt-sqli://192.168.80.101:9088/testdb:GBASEDBTSERVER=gbase01;
以上表示直接连接到数据库主节点
连接至数据库服务组
如果要常连接至集群主节点,建议使用该方法
连接到数据库服务组,该连接方式将自动连接至组内的数据库主节点(以下仅显示最少的参数,DB_LOCALE等不显示)
jdbc:gbasedbt-sqli:/testdb:GBASEDBTSERVER=grp_app;SQLH_TYPE=FILE;SQLH_FILE=/opt/gbase/etc/sqlhosts;
以上表示连接到数据库服务组中的主节点(集群主节点)
连接至数据库服务组(本地高可用集群专用)
连接到本地高可用集群,实现自动切换(以下仅显示最少的参数,DB_LOCALE等不显示)
jdbc:gbasedbt-sqli:/testdb:GBASEDBTSERVER=gbase01;IFXHOST=192.168.80.101;PORTNO=9088;GBASEDBTSERVER_SECONDARY=gbase02;IFXHOST_SECONDARY=192.168.80.102;PORTNO_SECONDARY=9088;ENABLE_HDRSWITCH=true;
以上表示连接至本地高可用集群的两个数据库服务
连接至连接管理器(CM)
连接至连接管理器(CM),可以至连接管理器上的SLA
jdbc:gbasedbt-sqli://192.168.80.101:9098/testdb:GBASEDBTSERVER=oltp1;
也可以是SLA的组
jdbc:gbasedbt-sqli:/testdb:GBASEDBTSERVER=grp_cm;SQLH_TYPE=FILE;SQLH_FILE=/opt/gbase/etc/sqlhosts;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




