개요
UNIX_ODBC 와 altibase 연동관련 가이드입니다.
버전
ALTIBASE HDB 모든 버전
UNIX_ODBC 종류 및 URL
unix_odbc 는 open source project 로서 주로 unixODBC 가 사용됩니다.
1. unixODBC는 아래 링크에 다운로드 받으실 수 있습니다.
- http://www.unixodbc.org/
INSTALL
$ mkdir $HOME/ODBC_HOME
$ gzip -d unixODBC-2.3.2.tar.gz
$ tar -xvf unixODBC-2.3.2.tar
$ cd unixODBC-2.3.2
$ cd $ALTIBASE_HOME/lib
PHP, PERL 연동
PHP, PERL 등에서 unix_odbc 를 지원하므로 위의 방식으로 altibase와 연동할 수 있습니다.
PHP 연동 가이드
관련 환경 변수 설정
반드시 사전에 아래 변수를 설정해주시기 바랍니다.
export CFLAGS=-DBUILD_LEGACY_64_BIT_MODE=1
export ODBCINI=odbc.ini 파일 위치 경로
export LD_LIBRARY_PATH=$APACHE_HOME/modules:unixODBC설치경로/lib:PHP설치경로/lib
SQLLEN, SQLULEN 확인
unixODBC 설치 경로중 bin 디렉토리로 이동하여 odbcinst 명령을 이용해 SQLLEN size와 SQLULEN size가 4인지 확인합니다.
4일 경우 32bit로 설정된 것이며, 8일 경우 64bit로 설정된 것입니다.
$ ./odbcinst -j
unixODBC 2.3.2
DRIVERS............: /home/altibase/phptest/unixodbc/etc/odbcinst.ini
SYSTEM DATA SOURCES: /home/altibase/phptest/unixodbc/etc/odbc.ini
FILE DATA SOURCES..: /home/altibase/phptest/unixodbc/etc/ODBCDataSources
USER DATA SOURCES..: /home/altibase/phptest/unixodbc/etc/odbc.ini
SQLULEN Size.......: 4
SQLLEN Size........: 4 <---4이면 32bit 8이면 64bit
SQLSETPOSIROW Size.: 2
unixODBC의 odbc.ini 파일 수정
odbc.ini 파일에 LongDataCompat=ON을 추가해줌으로써 lob 데이터를 처리하도록 설정가능합니다.
PHP 컴파일 및 설치 작업
$> ./configure \
--prefix=/user/web/php \
--with-config-file-path=/user/web/php/conf \
--with-apxs2=/user/web/apache2/bin/apxs \
--with-unixODBC=/user/web/odbc \
--with-mcrypt \
--with-mhash \
--with-openssl \
--with-kerberos \
--with-curl \
--enable-dom \
--with-iconv=/usr/local \
--with-xmlrpc \
--enable-libxml \
--with-libxml-dir=/usr/lib64 \
--with-gd \
--with-freetype-dir=/usr \
--with-jpeg-dir=/usr/lib64 \
--with-png-dir=/usr/lib64 \
--with-zlib-dir=/usr/lib64 \
--enable-mbstring \
--enable-shmop \
--enable-sockets \
--enable-sigchild \
--enable-soap \
--enable-zip \
--enable-ftp \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-regex=php \
--with-pcre-regex \
--enable-mbregex \
--enable-dba=shared \
--enable-mod-charset \
--with-xml \
--with-pcre \
--with-gdbm \
--with-dbm$> make
$> make installphp.ini 설정
memory_limit=-1
odbc.defaultbinmode=1
odbc.defaultlrl=1048576