GBase 8s数据库JDBC连接字符串

连接字符串格式

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;

标签: jdbc, GBase, 数据库连接

添加新评论