이제 ODBC를 설정해보자
PHP와 SAPDB를 연동시키거나 혹은 ODBC 인터페이스를 통해서 프로그램을 작성하기 위해서는 ODBC를 설치해야 된다
우선 ODBC를 이용하려면 sapdb-callif-7.4.3.7beta-1.i386.rpm를 먼저 설치해야 한다
http://www.sapdb.org/7.4/sap_db_downloads.htm에서 다운받도록 하자
다운을 받았으면 이제 설치하자
rpm -ivh sapdb-callif-7.4.3.7beta-1.i386.rpm
위의 RPM안에는 odbc및 jdbc 관련된 파일들이 들어있다
그러면 이제 odbc 세팅을 해보자 (우선 모든 설정은 demo db 인 TST가 설치되어 있다는 전제하에서이다)
만약 다른 ODBC Manager를 사용하고 있다면 (iODBC, unixODBC) 그곳에서 odbc 설정을 해주면 된다 (unixODBC 같은 경우 설정파일은 /etc/odbc.ini이다)
아래의 내용을 넣는다
[TST]
ServerDB = TST
ServerNode = localhost
#SQLMode = INTERNAL | DB2 | ANSI | ORACLE
#IsolationLevel = Uncommited | commited | Repeatable | Serializable
#TraceFileName = 로그파일명
Driver = /opt/sapdb/interfaces/odbc/lib/libsqlod.so
Description = 설명
근데 대부분은 다른 ODBC Manager를 사용하고 있지 않을 것이다
그럴 경우 홈디렉토리 밑에 .odbc.ini 파일로 저장을 해주거나 /var/spool/sql/ini/odbc.ini 파일로 저장을 시켜주면된다
홈디렉토리 밑에 있을 경우 해당 사용자 계정에서만 사용이 가능하고 /var/spool/sql/ini/odbc.ini 파일로 설정했을 경우 모든 사용자가 사용 가능하다
PHP 에서 연동하고자 할 경우에는 apache가 apache계정 혹은 nobody계정으로 실행이 되기 때문에 /var/spool/sql/ini/odbc.ini 파일로 설정해야 제대로 동작한다
만약 다른 ODBC Manager를 사용하는지 정확히 모르겠다면
그냥 편하게 일단 /etc/odbc.ini 파일로 저장을 한후 ln -s / /etc/odbc.ini /var/spool/sql/ini/odbc.ini 로 링크를 걸어줘도 되겠다
그리고 ODBC Manager를 사용하지 않을 경우에는 Driver 란은 삭제해도 무방하다
이럴경우 간단하게 아래의 세줄만으로도 설정을 할 수 가 있다
[TST]
ServerDB = TST
ServerNode = localhost
그럼 위의 ODBC 설정을 다시한번 자세히 살펴보자
[TST]
ServerDB = TST
ServerNode = localhost
#SQLMode = INTERNAL | DB2 | ANSI | ORACLE
#IsolationLevel = Uncommited | commited | Repeatable | Serializable
#TraceFileName = 로그파일명
Driver = /opt/sapdb/interfaces/odbc/lib/libsqlod.so
Description = 설명
맨위의 TST라는 부분은 그 외부 프로그램에서 ODBC를 통해서 호출할 이름이 된다. (여기서는 TST로 하였다)
그 아랫줄의
ServerDB 는 접속할 DB명을 적어준것이다 (여기서는 demo db명인 TST로 하였다)
ServerNode 해당 서버를 가르킨다. 아이피로 적어도 된다
SQLMode 는 INTERNAL, DB2, ANSI, ORACLE 에서 SQLMode를 설정할 수 있게 해준다. 자세한 내용은 메뉴얼을 참조하기 바란다
IsolationLevel 은 무결성과 관련된 사항을 설정할 수 있게 해준다. 역시 메뉴얼을 참조하기 바란다
TraceFileName 은 로그파일을 생성시키고 싶을 경우 사용하면 된다 해당 파일의 전체경로 및 파일명을 적어주면 LOG가 쌓인다
Driver 는 해당 ODBC에서 사용될 드라이버를 지정하는 것인데 다른 ODBC Manager를 사용할 경우에는 반드시 적어줘야 하지만 그렇지 않다면 생략해도 된다
Description 은 말 그대로 설명
이제 PHP나 다른 언어등에서 ODBC Interface를 통해 SAPDB에 접속할 수 있게 되었다.
|