티베로 CLI / ODBC 연동
티베로 CLI와 ODBC를 연동하는 방법을 설명합니다. 티베로에서는 ODBC와의 연동을 위해 운영 체제 별로 ODBC 드라이버를 제공합니다.
ODBC
ODBC는 아래와 같은 Call-Level Interface(CLI) 명세와 표준을 따르는 데이터베이스의 API입니다.
The Open Group CAE Specification "Data Management: SQL Call-Level Interface (CLI)"
ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI)
ODBC를 사용하게 되면 동일한 애플리케이션 프로그램으로 다양한 벤더의 DBMS에 접근할 수 있습니다. 이를 위해서는 ODBC 소프트웨어 외에 액세스할 데이터베이스마다 별도의 모듈이나 드라이버가 필요합니다.
tbCLI와 ODBC의 연동
tbCLI는 Call-Level Interface(CLI) 명세와 표준을 따르므로, ODBC와 연동할 수 있습니다. tbCLI는 ODBC 3.51표준에 맞게 구현되어 있어 데이터베이스 추적 로그 등 ODBC가 가진 기능을 사용할 수 있습니다.
Tibero에서는 ODBC와의 연동을 위해 운영체제별로 ODBC 드라이버를 제공합니다.
설치 on Windows
Windows 계열에서 Tibero 7 ODBC Driver를 설치할 때 사용자의 편의를 위해 Tibero에서는 Win32/Win64 용 ODBC 드라이버 설치 실행 파일(Win32: tbodbc_driver_installer_7_32.exe, Win64: tbodbc_driver_in staller_7_64.exe)과 Win32/Win64용 ODBC 클라이언트 라이브러리 파일(libtbcli.dll)을 제공하고 있습니다.
이 두 파일은 아래와 같은 디렉터리에 존재합니다.
Windows용 배포판
Win32
%TB_HOME%\bin\tbodbc_driver_installer_7_32.exe
%TB_HOME%\bin\libtbcli.dll
Win64
%TB_HOME%\bin\tbodbc_driver_installer_7_64.exe
%TB_HOME%\bin\libtbcli.dll
UNIX용 배포판
Win32
$TB_HOME/client/win32/bin/tbodbc_driver_installer_7_32.exe
$TB_HOME/client/win32/lib/libtbcli.dll
Win64
$TB_HOME/client/win64/bin/tbodbc_driver_installer_7_64.exe
$TB_HOME/client/win64/lib/libtbcli.dll
설치
Win32용 드라이버 설치 순서
Win32용 libtbcli.dll 파일을 설치할 폴더에 복사합니다. ODBC 데이터 원본 관리자에서 libtbcli.dll 파일을 동적으로 링크하여 사용합니다.
명령 프롬프트(cmd.exe) 창을 실행한 후 다음과 같은 명령을 실행합니다.
%TB_HOME%\bin\tbodbc_driver_installer_7_32.exe -i [설치 경로]
설치 경로는 복사한 libtbcli.dll 파일이 있는 디렉터리까지의 절대 경로를 입력합니다. 이때 설치 경로를 입력하지 않으면 디폴트로 설정된 %TB_HOME%\bin 폴더에 설치됩니다.
설치 확인
ODBC 데이터 원본 관리자를 실행합니다. 실행하는 방법은 [제어판] > [관리 도구] > [데이터 원본 (ODBC)] 메뉴를 선택하거나 또는 %SystemRoot%\system32 폴더에서 odbcad32.exe 파일을 실행합니다. 만약 64Bit 머신에서 Win32용 드라이버를 설치하였다면 %SystemRoot%\SysWOW64 폴더에서 odb cad32.exe 파일을 실행해야 합니다.
[드라이버] 탭으로 이동한 후 Tibero 7 ODBC Driver가 있는지 확인합니다.
[그림 3] Tibero 7 ODBC Driver 설치 확인

DSN 등록
Tibero 7 ODBC Driver를 정상적으로 설치했으면, 이 드라이버를 통해 DSN(Data Source Name)를 등록하여 데이터베이스 접속 정보를 저장합니다.
DSN 등록 방법
사용자 DSN 현재 로그인을 한 Windows 계정에서만 사용할 수 있는 DSN입니다.
시스템 DSN 어떠한 Windows 계정으로도 사용할 수 있는 DSN입니다.
등록 순서는 아래와 같습니다.
ODBC 데이터 원본 관리자를 실행합니다.
[사용자 DSN] 탭으로 이동한 후 [추가] 버튼을 클릭합니다.
[그림 4] 사용자 DSN - 추가

설치된 Tibero 7 ODBC Driver를 선택한 후 [마침] 버튼을 클릭합니다.
[그림 5] 사용자 DSN - Tibero 7 ODBC Driver 선택

Tibero 7 ODBC Configration 대화상자가 나타납니다. 이 대화상자에 데이터베이스 접속 정보를 입력합니다.
Tibero 7 ODBC Driver에서는 IP와 PORT로 접속하는 방식과 tbdsn.tbr 파일에 설정된 SID로 접속하는 방식 두 가지를 제공합니다.
IP/PORT 방식으로 접속하면 TB_HOME 환경을 구축하지 않고도 간편하게 드라이버를 사용할 수 있지만 tbdsn.tbr 파일에 TB_NLS_LANG 설정값을 넣는 등의 기능을 사용할 수 없다는 단점이 있습니다.
[그림 6] 사용자 DSN - 데이터베이스 접속 정보 입력(IP, PORT 방식)

[그림 7] 사용자 DSN - 데이터베이스 접속 정보 입력(SID 방식)

데이터베이스 접속 정보가 모두 입력되면 [OK] 버튼을 클릭합니다. 등록이 완료되면 아래 그림과 같이 새로 등록된 DSN이 표시됩니다.
[그림 8] 사용자 DSN - 등록 완료

DSN 등록이 완료되면 'tibero7'를 SQLConnect 또는 SQLDriverConnect 함수에 사용할 수 있으며, 이 함수를 통해 데이터베이스에 접속할 수 있습니다.
설치 on UNIX
Windows 계열에서는 운영체제를 설치하면 자동으로 ODBC 드라이버 관리자가 설치되지만, UNIX 계열의 환경에서는 별도로 설치해야 합니다. ODBC 드라이버 관리자는 unixODBC, iODBC 등 다양한 종류가 있습니다.
기본 환경 설정
iODBC를 설치하기 위해 아래와 같은 순서에 따라 기본환경을 설정합니다.
$TB_HOME/client/lib(또는 $TB_HOME/client/lib32) 디렉터리에 libtbodbc.so 파일이 존재하는지 확인 합니다. 확인하는 방법은 아래와 같습니다.
$ file libtbodbc.so
libtbodbc.so: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), not stripped
LD_LIBRARY_PATH 환경변수에 libtbodbc.so 파일이 존재하는 경로를 추가합니다. 단, 특정 머신에 따라 LD_LIBRARY_PATH가 아닌 다른 환경변수를 사용할 수도 있습니다. 예를 들어 AIX 5.3 머신에서는 LIBPATH 라는 환경변수를 사용합니다.
iODBC 설치
iODBC는 Tibero의 설치 버전이 지원하는 CPU에 따라 아래와 같이 설치 방법이 달라집니다.
32-bit iODBC를 설치할 때 별도의 옵션을 설정하지 않으면, Tibero의 설치 버전에 관계없이 32-bit로 iODBC가 설치됩니다. 예를 들어 다음과 같이 prefix 옵션을 설정하지 않는 경우에는 /usr/local 디렉터리에 iODBC가 설치됩니다.
export CC=cc
./configure [--prefix=/usr/local] --sysconfdir=/etc --disable-gui
make
make install
64-bit iODBC는 기본적으로 32-bit로 컴파일됩니다. 따라서 64-bit 머신에서 동작 중인 Tibero를 사용할 경우, 반드시 컴파일 옵션을 별도로 주어 64-bit iODBC를 설치해야 합니다.
머신별 iODBC 설치 방법
HP-UX
export CFLAGS=+DD64
export CC=cc
./configure [--prefix=/usr/local] --sysconfdir=/etc --disable-gui
make
make install
AIX
export CFLAGS=-q64
export CC=cc
./configure [--prefix=/usr/local] --sysconfdir=/etc --disable-gui
make
make install
iODBC 설치 확인
iODBC를 설치한 후에는 file 명령을 사용하여 컴파일이 제대로 수행되었는지 확인합니다.
아래는 설치된 iODBC가 컴파일을 제대로 수행하였는지 확인하는 예입니다.
$ file libtbodbc.so
libtbodbc.so: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), not stripped
$ file libiodbcinst.so.2.1.18
libiodbcinst.so.2.1.18: ELF 32-bit LSB shared object, Intel 80386,
version 1 (SYSV), not stripped
Tibero를 위한 iODBC 환경설정
설치가 완료된 iODBC에 환경설정을 적용하는 순서는 아래와 같습니다.
ODBC 드라이버를 설정합니다. 아래의 예를 참고하여 /etc 디렉터리에 odbc.ini 파일을 생성합니다. <<odbc.ini>>
[ODBC Data Source]
Tibero7 = Tibero 7 ODBC Driver
[ODBC]
Trace = 1
TraceFile = /tmp/odbc.trace
[Tibero7]
Driver = /home/tibero7/client/lib/libtbodbc.so
Description = Tibero7 ODBC Datasource
SID = tibero ; tbdsn.tbr 파일에 설정한 DSN 정보
User = tibero
Password = tmax
odbc.ini 파일은 시스템 전체에 대한 설정을 의미합니다. 사용자별로 별도의 ODBC 드라이버를 설정하고자할 때에는 $HOME/.odbc.ini 파일을 위 예와 같이 작성하면 됩니다.
ODBC 데이터소스를 설정합니다. 아래의 예를 참고하여 /etc 디렉터리에 odbcinst.ini 파일을 생성합니다. <<odbcinst.ini>>
[Tibero 7 ODBC Driver]
Description = ODBC Driver for Tibero 7
Driver = /home/tibero7/client/lib/libtbodbc.so
UsageCount = 1
1, 2번 과정을 통해 생성된 ODBC 드라이버와 ODBC 데이터소스를 iODBC 관리자에 등록합니다.
iodbc-config --odbc.ini --odbcinst.ini
데이터베이스 접속 확인
iODBC에 환경설정을 완료한 후 데이터베이스에 접속이 되는지 확인하려면 아래와 같은 명령을 실행 합니다.
iodbctest "DSN={dsn};UID={user};PWD={pwd}"
항목
설명
dsn
DSN의 이름
user
접속할 사용자 계정의 이름
pwd
접속할 사용자 계정의 패스워드
아래는 iodbctest 명령을 사용하여 데이터베이스 접속을 확인하는 예입니다.
$ iodbctest "DSN=Tibero7;UID=tibero;PWD=tmax"
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008
Driver: 06.00.0000 (libtbodbc.so)
SQL>select * from dual;
DUMMY
------
X
result set 1 returned 1 rows.
SQL>
iodbctest 명령을 실행할 때 데이터베이스 접속정보가 /etc/odbc.ini 파일과 $HOME/.odbc.ini 파일 양쪽 모두에 존재하는 경우에는 $HOME의 경로를 먼저 탐색한다는 점에 유의해야 합니다.
만약 ODBCINI 환경변수가 설정되어 있다면, ODBCINI 환경변수에 입력된 odbc.ini 파일을 가장 먼저 탐색합니다.
tbdsn.tbr과 ODBC 데이터 원본 관리자
tbCLI에서는 아래와 같이 두 가지 방법으로 데이터베이스 접속 정보를 가져올 수 있습니다.
tbdsn.tbr
tibero=(
(INSTANCE=(HOST=12.34.56.78)
(PORT=8629)
(DB_NAME=tibero))
)
ODBC 데이터 원본 관리자의 DSN
Windows 계열의 tbCLI 또는 UNIX 계열(LINUX 포함)에서 설치한 ODBC에서 데이터베이스 접속 정보를 가져올 때에는 우선 ODBC 데이터 원본 관리자를 검색합니다. 만약 ODBC 데이터 원본 관리자에 해당 정보가 없다면 tbdsn.tbr 파일을 검색하여 데이터베이스 접속 정보를 찾습니다.
tbCLI를 사용하는 tbSQL 유틸리티에서도 이와 동일한 과정을 거쳐 데이터베이스 접속 정보를 가져옵니다.
Last updated