Tibero To Sybase DB Link
Tibero To Sybase
테스트 환경
OS : OEL release 7.2
Java : 1.6.0_45
Tibero : 5SP1 FS04
Sybase JDBC 확보
- Syabase JDBC(
jconn
)의 확보가 필요하다. - 문제는 공식 사이트에서 구하긴 힘들다.
- 구글링을 통행 구하자.(본 테스트에서는
jconn4.jar
를 사용한다.)
OS 계정 환경설정
- 기존의 Oracle DB Link와는 달리 특별한 설정은 필요없다.
- 단, 이번에 사용하는 Gateway는 JAVA 기반으로 JAVA 설치가 필요하다.
- JAVA는 1.5 이상이면 되는것 같다.(매뉴얼에도 특별한 언급이 없다.
기대하지도 않았다.) - 사용할 JAVA의
$PATH
정도만 설정해주면 된다. - 본 테스트에서는 리눅스의
bash
쉘을 사용하므로$HOME/.bash_profile
을 편집한다.
(전략)
##################JAVA ENV##################
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin
GateWay 확보 및 실행
- Tibero 서버에 설치된 엔진을 통해 구할 수 있다.(
$TB_HOME/client/bin
에 들어있다.) - 티맥스소프트 TECHNET에서 설치하고자 하는 엔진을 받을 수 있다.
(단, 회원가입이 필요하다.이미 Tibero를 설치하려고 가입을 했다.) tbgateway.zip
이라는 이름의zip
파일로 존재한다.- 적당한 위치로 복사하여 압축을 풀어준다.
cp $TB_HOME/client/bin/tbgateway.zip ~/.
unzip ~/tbgateway.zip
Archive: tbgateway.zip
creating: tbJavaGW/
creating: tbJavaGW/lib/
inflating: tbJavaGW/README_SERVICE.txt
inflating: tbJavaGW/jgw.cfg
inflating: tbJavaGW/jgwlog.properties
inflating: tbJavaGW/lib/commons-collections.jar
inflating: tbJavaGW/lib/commons-daemon-1.0.6.jar
inflating: tbJavaGW/lib/commons-pool.jar
inflating: tbJavaGW/lib/log4j-1.2.15.jar
inflating: tbJavaGW/lib/tbgateway.jar
inflating: tbJavaGW/tbgw
inflating: tbJavaGW/service_gw.bat
- 압축을 풀면
tbJavaGW
란 폴더가 생긴다. tbJavaGW/tbgw
파일의classpath
등 을 수정한다.- JAVA 기반으로 필요한 경우 다른 옵션들에 대한 수정도 가능하다.
- 본 테스트에서는
asejdbc
의jconn
버전만 변경한다.
#!/bin/sh
#Classpath
commonsdaemon=./lib/commons-daemon-1.0.6.jar
commonspool=./lib/commons-pool.jar
commonscollections=./lib/commons-collections.jar
log4j=./lib/log4j-1.2.15.jar
msjdbc=./lib/sqljdbc.jar:./lib/sqljdbc4.jar
#asejdbc=./lib/jconn3.jar #사용할 jconn으로 변경한다. jconn3.jar를 사용하는 경우에는 무관하다.
asejdbc=./lib/jconn4.jar
postgresqljdbc=./lib/postgresql-8.4-701.jdbc3.jar
gateway=./lib/tbgateway.jar
#log4j properties
#log4jfile must be exists on classpath
log4jfile=jgwlog.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.configuration=$log4jfile -classpath $commonsdaemon:$commonspool:$commonscollections:$log4j:$gateway:$msjdbc:$asejdbc:$postgresqljdbc:. $mainclass CONFIG=$configfile $* &
sleep 1
fi
tbJavaGW/lib
폴더에 첫단계에서 확보한jconn
파일을 복사한다.tbJavaGW/jgw.cfg
파일이 Gateway의 환경설정 파일이며 필요한 정보를 수정하여 사용한다.- 설명이 없는
INIT_POOL_SIZE
,MAX_POOL_SIZE
등은 Tibero 5SP1 Administrator’s Guide를 참조하면 된다.
#DATABASE=ASE|SQL_SERVER #접속할 데이터베이스의 종류를 명시한다.(순서대로 Sybase, MS Sql)
DATABASE=ASE
#LISTENER_PORT=$GW_PORT #GW 사용포트
LISTENER_PORT=9093
INIT_POOL_SIZE=10
MAX_POOL_SIZE=100
MAX_CURSOR_CACHE_SIZE=100
ENCODING=MSWIN949
MAX_LONGVARCHAR=4K
MAX_LONGRAW=4K
- 모든 설정이 완료되었으면 Gateway를 실행시킨다.
tbJavaGW/tbgw
파일을 실행시키면 된다.
~/tbJavaGW/tbgw #설치한 위치에 따라 변경이 필요하다.
-------------------------------
Name : TmaxData JAVA GATEWAY
Database: 0
Port : 9093
-------------------------------
netstat -na | grep 9093 #GW 사용포트
tcp6 0 0 :::9093 :::* LISTEN
Tibero 접속정보 설정
$TB_HOME/client/config/tbdsn.tbr
에 Gateway 접속정보를 설정해 준다.- 해당 정보를 사용하여
DB Link
를 생성하게 된다. - 기존의 Oracle DB Link와 차이가 있다면 해당의 경우 IP, 포트 등의 정보를 하나의 파일에서 관리한다.
(전략)
#$ALIAS=( #접속 정보 명칭
# (GATEWAY=
# (LISTENER=
# (HOST=$GW_IP) #GW 실행서버 IP
# (PORT=$GW_PORT) #GW 실행서버 PORT
# )
# (TARGET=$ASE_IP:$ASE_PORT:$ASE_DBNAME) #Sybase 접속 정보(IP, PORT, DBNAME)
# (TX_MODE=GLOBAL|LOCAL) #Transaction 모드
# )
#)
ASE=(
(GATEWAY=
(LISTENER=
(HOST=localhost)
(PORT=9093)
)
(TARGET=192.168.16.25:2048:master)
(TX_MODE=LOCAL)
)
)
DB Link 생성 및 사용
- 위의 설정된 접속정보들을 토대로 Tibero DBMS내에
DATABASE LINK
객체를 생성한다.
/* -- 생성문법
* CREATE DATABASE LINK 링크명 -- 생성할 링크명
* CONNECT TO Sybase계정 -- Sybase 접속 계정
* IDENTIFIED BY '암호' -- Sybase 계정 암호
* USING '$ALIAS' ; -- Tibero 접속정보
* -- 사용방법
* SELECT * FROM 오브젝트@링크명 ;
*/
--링크 생성
CREATE DATABASE LINK ASE_LINK
CONNECT TO sa IDENTIFIED BY 'sybaseadmin'
USING 'ASE' ;
-- 사용방법
SSELECT * FROM emp@ASE_LINK ; -- "테이블명"@"DB Link 명"
DB Link 방식
- Sybase와 같이 JAVA Gateway를 사용하는 경우 DB Link 방식은
Listener
방식과 구성 및 동작이 동일하다. - 다만, C 기반이냐 JAVA 기반이냐의 차이일 뿐이다.
'Tibero > 기타' 카테고리의 다른 글
PHP와 tbOCI(Tibero OCI) 연동 (0) | 2016.06.14 |
---|---|
Tibero To Tibero DB Link (0) | 2016.06.14 |
Tibero To MS-SQL DB Link (0) | 2016.06.03 |
Tibero to Oracle DB Link(Local Gateway) (0) | 2016.06.03 |
Tibero To Oracle DB Link(Listener) (0) | 2016.05.31 |
댓글