天天看點

GBase 8s資料庫JDBC連接配接字元串

連接配接字元串格式

JDBC連接配接字元串的完整格式:

>>-jdbc:gbasedbt-sqli://-hostname:portnum--/database_name:------>

>--+--------------------------------+--------------------------->
   '-USER=userid;-PASSWORD=password-'   

>--+----------------------------+------------------------------->
   '-GBASEDBTSERVER=servername;-'   

>--+-----------------------------------------------------------+-><
   |                                           .-;-----------. |   
   |                                           V             | |   
   '-CSM=([email protected],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;