Document Type | Technical Information
CATEGORY | Administration
Applicable Product Versions | T6, T7
Document Number | TIITI058
Overview
This is a guide on how to connect Tibero to Sybase DB Link.
Preliminary Work
- Download JDBC
- Obtain Sybase JDBC
Method
Gateway Setup
$TB_HOME/client/bin Copy the tbJavaGW.zip file located in the path and extract it to the desired folder.
$ unzip tbJavaGW.zip
After extracting, move the downloaded Sybase JDBC (jconn.jar) file into the created tbJavaGW folder.
-rw-r--r--. 1 tibero tibero 588337 Oct 13 02:12 commons-collections.jar -rw-r--r--. 1 tibero tibero 24019 Oct 13 02:12 commons-daemon-1.0.6.jar -rw-r--r--. 1 tibero tibero 42492 Oct 13 02:12 commons-pool.jar -rw-rw-r--. 1 tibero tibero 2168798 Oct 15 15:55 jconn42.jar -rw-r--r--. 1 tibero tibero 2075494 Oct 13 02:12 msllogger-18.jar -rw-r--r--. 1 tibero tibero 522253 Oct 13 02:12 tbgateway.jar
Modify tbgw File
Modify the asejdbc entry according to the obtained jconn.jar version.
#! /bin/sh
#Classpath
commonsdaemon=./lib/commons-daemon-1.0.6.jar
commonspool=./lib/commons-pool.jar
commonscollections=./lib/commons-collections.jar
msllogger=./lib/msllogger-18.jar
msjdbc=./lib/sqljdbc.jar:./lib/sqljdbc4.jar
asejdbc=./lib/jconn42.jar # Modify this part
postgresqljdbc=./lib/postgresql-8.4-701.jdbc3.jar
gateway=./lib/tbgateway.jar
mysqljdbc=./lib/mysql-connector-java-5.1.40-bin.jar
hanajdbc=./lib/ngdbc-2.20.17.jar
hivepre=./lib/httpclient-4.4.jar:./lib/libthrift-0.9.3.jar:./lib/httpcore-4.4.jar:./lib/slf4j-api-1.7.25.jar:./lib/curator-client-2.12.0.jar:./lib/commons-lang-2.6.jar:./lib/guava-14.0.1.jar
hive=$hivepre:./lib/hive-jdbc-3.1.2.jar:./lib/hive-service-rpc-3.1.2.jar:./lib/hive-service-3.1.2.jar:./lib/hive-common-3.1.2.jar:./lib/hive-serde-3.1.2.jar
#log4j properties
#log4jfile must be exists on classpath
log4jfile=jgwlog4msl18.properties
#Main Class
mainclass=com.tmax.tibero.gateway.main.GatewayMain
configfile=./jgw.cfg
if [[ $# -gt 0 ]] && [[ $1 = "-v" ]] ; then
java -jar $gateway
else
java -Xms128m -Xmx512m -Dlog4j.configurationFile=$log4jfile -classpath $mysqljdbc:$commonsdaemon:$commonspool:$commonscollections:$msllogger:$gateway:$msjdbc:$asejdbc:$postgresqljdbc:$hive:$hanajdbc:. $mainclass CONFIG=$configfile $* &
sleep 1
fi
Modify jgw.cfg File
# Target database DATABASE=ASE # Modify this part as needed # Datasource class name for target database # use with DATABASE=JDBC30 option. #DATASOURCE_CLASS_NAME=com.tmax.tibero.jdbc.ext.TbDataSource # XA datasource class name for target database # use with DATABASE=JDBC30 option. #XA_DATASOURCE_CLASS_NAME=com.tmax.tibero.jdbc.ext.TbXADataSource # Listener port LISTENER_PORT=9093 # Initial thread pool size INIT_POOL_SIZE=10 # Max thread pool size MAX_POOL_SIZE=100 # Max cursor cache size per thread MAX_CURSOR_CACHE_SIZE=100 # Gateway Encoding-"ASCII", "EUC-KR", "MSWIN949", "UTF-8", "UTF-16", "SHIFT-JIS" ENCODING=UTF-8 # Max length for Types.LONGVARCHAR MAX_LONGVARCHAR=4K # Max length for Types.LONGRAW MAX_LONGRAW=4K # Fetch size (num of rows) for target database (default:32) #TARGET_DB_FETCH_SIZE=32 # National character set type support (default:Y) #SUPPORTS_NATIONAL_CHARACTER_SET_TYPE=Y # Transaction isolation level of target database connection. # - Default: READ COMMITTED # -"READ COMMITTED", "READ UNCOMMITTED", "SERIALIZABLE", etc... #TRANSACTION_ISOLATION_LEVEL= # Validation query #VALIDATION_QUERY=SELECT 1 #VALIDATION_QUERY=SELECT 1 FROM DUAL WHERE 1=0 # Validation idle time. (milliseconds) # - Default: 0 (infinite) # - Minium value: 60000 (1 min) #VALIDATION_IDLE_TIME=120000 # MySQL JDBC Connection URL Format # - jdbc:mysql://[host][:port][/database][MYSQL_PROPERTY] # - Record MYSQL_PROPERTY field only # MYSQL_PROPERTY= # Response Buffering #MSSQL_RESPONSE_BUFFERING=ADAPTIVE # Select Method #MSSQL_SELECT_METHOD=DIRECT
Run Gateway After Configuration
[tibero@ENT-ROCKY8 tbJavaGW]$ ./tbgw [tibero@ENT-ROCKY8 tbJavaGW]$ ------------------------------- Name : TmaxTibero JAVA GATEWAY Database: 3 Port : 9093 -------------------------------
Modify Tibero tbdsn.tbr File Connection Information
ASE=(
(GATEWAY=
(LISTENER=
(HOST=IP of gateway server)
(PORT=Port of gateway server)
)
(TARGET=Sybase connection info IP:master)
(TX_MODE=LOCAL) # Transaction mode
)
)
ex)
ASE=(
(GATEWAY=
(LISTENER=
(HOST=localhost)
(PORT=9093)
)
(TARGET=192.168.242.189:master)
(TX_MODE=LOCAL)
)
)