문서유형ㅣ기술정보
분야ㅣ인터페이스/연동
적용제품버전ㅣTibero6, Tibero7
문서번호ㅣTIITI064
개요
본 문서는 Linux 환경에서 PHP 8.1과 unixODBC를 이용하여 Tibero7 데이터베이스와 ODBC 방식으로 연동하는 방법을 설명합니다.
본 가이드는 소스 컴파일 방식으로 PHP를 설치하며, CLI 환경에서 ODBC 연결 검증까지 수행하는 것을 목표로 합니다.
테스트 환경
| 항목 | 내용 |
|---|---|
| OS | Linux (x86_64) |
| Tibero | Tibero7.2.4 |
| unixODBC | 2.3.14 |
| PHP | 8.1.29 |
| Compiler | gcc |
| ODBC Driver | Tibero ODBC Driver (libtbodbc.so) |
사전 준비
Tibero7 설치 및 Listener 기동 상태
Tibero ODBC Driver(
libtbodbc.so) 확인gcc, make, autoconf 설치
file $TB_HOME/client/lib/libtbodbc.so
방법
unixODBC 설치
소스 다운로드
wget https://www.unixodbc.org/unixODBC-2.3.14.tar.gz
cd /home/test7/unixodbc
tar -xzvf unixODBC-2.3.14.tar.gz
컴파일 및 설치
cd /home/test7/unixodbc/unixODBC-2.3.14
./configure --prefix=/home/test7/unixodbc/install/unixODBC-2.3.14 --disable-gui
make
make install
.bash_profile 환경 변수 설정
unixODBC 및 Tibero ODBC Driver를 정상적으로 인식하기 위해
아래 환경 변수를 DB 접속 계정의 .bash_profile에 설정합니다.
vi ~/.bash_profile# Tibero ENV
export TB_HOME=/home/test7/tibero7
export TB_SID=test7
export TB_PROF_DIR=$TB_HOME/bin/prof
# unixODBC ENV
export ODBC_HOME=/home/test7/unixodbc/install/unixODBC-2.3.14
export ODBCSYSINI=$ODBC_HOME/etc
export ODBCINI=$ODBC_HOME/etc/odbc.ini
export ODBCINSTINI=odbcinst.ini
# PATH / LIB
export PATH=$TB_HOME/bin:$TB_HOME/client/bin:$ODBC_HOME/bin:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$ODBC_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH설정 적용 및 확인:
source ~/.bash_profile
env | egrep 'TB_HOME|ODBC_HOME|ODBCINI|ODBCINSTINI|ODBCSYSINI'설치 확인
$ODBC_HOME/bin/isql --version
$ODBC_HOME/bin/odbcinst -j
ODBC Driver 및 DSN 설정
odbcinst.ini (Driver 등록)
vi $ODBC_HOME/etc/odbcinst.ini
[Tibero]
Description = Tibero ODBC Driver
Driver = /home/test7/tibero7/client/lib/libtbodbc.so
FileUsage = 1odbc.ini (DSN 등록)
vi $ODBC_HOME/etc/odbc.ini
[TIBERO7]
Description = Tibero7 ODBC Test
Driver = Tibero
ServerName = 127.0.0.1
Port = 5555
SID = test7
User = tibero
Password = tmaxDSN 확인
$ODBC_HOME/bin/odbcinst -q -d
$ODBC_HOME/bin/odbcinst -q -s
ODBC 연결 사전 검증 (isql)
$ODBC_HOME/bin/isql -v TIBERO7 tibero tmax정상 연결 시 다음과 같은 프롬프트가 출력됩니다.
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| echo [string] |
| quit |
| |
+---------------------------------------+
SQL>
PHP 8.1 설치 (ODBC 포함)
PHP 소스 다운로드
wget https://www.php.net/distributions/php-8.1.29.tar.gz
tar -xzvf php-8.1.29.tar.gz
cd php-8.1.29configure 및 빌드
./buildconf --force
./configure --prefix=/home/test7/php81 --with-unixODBC=$ODBC_HOME --with-odbcver=0x0352 --disable-all --enable-cli --enable-odbc
--with-unixODBC : 외부 unixODBC 라이브러리 사용
--with-odbcver : ODBC 3.52 스펙 기준 컴파일
--disable-all : 최소 모듈만 포함하여 CLI 테스트용 빌드
--enable-cli : CLI 전용 PHP 바이너리 생성
make
make installODBC 모듈 확인
/home/test7/php81/bin/php -m | grep -i odbc
PHP ODBC 연동 테스트
테스트 스크립트 (test.php)
test.php 는 어느 경로에 생성해도 무방하나,
ODBC 설정 파일(odbc.ini)이 인식되는 사용자 계정으로 실행해야 합니다.
vi /home/test7/unixodbc/install/unixODBC-2.3.14/etc/test.php
<?php
$dsn = "TIBERO7";
$user = "tibero";
$pass = "tmax";
$conn = odbc_connect($dsn, $user, $pass);
if (!$conn) {
echo "CONNECT FAIL: " . odbc_errormsg() . PHP_EOL;
exit(1);
}
echo "CONNECT OK\n";
$rs = odbc_exec($conn, "select sysdate from dual");
while ($row = odbc_fetch_array($rs)) {
print_r($row);
}
odbc_close($conn);
echo "DONE\n";
?>실행
/home/test7/php81/bin/php test.php실행 결과
CONNECT OK
Array
(
[SYSDATE] => 2025/12/15
)
DONE
검증 결과
PHP 8.1 ODBC 모듈 정상 로딩
unixODBC ↔ Tibero ODBC Driver 연동 확인
Tibero7 DB 접속 및 SQL 수행 정상
참고 사항
PHP는 소스 컴파일 방식으로 설치되었으며, 배포 패키지와 다를 수있습니다.
ODBC 환경 변수(
ODBCSYSINI,ODBCINI) 설정이 중요합니다.동일 서버 내 다른 Tibero DB로도 DSN 추가 후 테스트 가능합니다.