이 문서는 우분투 22.04 리눅스에 unixODBC가 설치되어있고, altibase가 설치되어있는 상태에서 unixODBC로 altibase dbms를 연동하는 방법에 대해서 설명합니다. 하지만, 준비가 되어있지 않는 경우에 대한 문서 링크도 있으니 아래 링크에서 참고하시면 처음부터 따라하실 수 있습니다.
Table Of Contents
사전 준비
unixODBC와 altibase가 설치되어있다고 가정하고 관련 지식을 알고 있어야 합니다. 하지만, 준비가 되어있지 않으시다면 아래 링크를 참고해서 준비하시고 다시 이 문서로 와서 이후 작업을 따라하시면 됩니다.
unixODBC 설치하기
unixODBC 설치가 되어있지 않은 경우 다음의 링크를 참고해서 설치하시면 됩니다.
altibase 설치하기
Altibase는 고성능의 인메모리 데이터베이스 관리 시스템(DBMS)입니다. 이 제품은 무료로 사용할 수 있는 라이선스를 제공하고 있으므로 테스트 해보기에 좋습니다. 설치 및 테스트 방법은 아래 링크를 참고하시면 됩니다.
unixODBC 설정하기
unixODBC의 system 설정파일에 설정을 해 놓는 것이 전역적으로 사용할 수 있으므로 전역 system 설정 파일인 /etc/odbcinst.ini와 /etc/odbc.ini를 수정하도록 하겠습니다.
odbcinst.ini 파일 수정
odbcinst.ini에는 드라이버의 위치와 설명이 들어갑니다. altibase의 unixODBC 드라이버는 $ALTIBASE_HOME/lib/ libaltibase_odbc-64bit-ul64.so에 위치하므로 설치 디렉토리의 전체 경로를 다음과 같이 작성하면 됩니다. 제가 테스트하는 리눅스에는 MariaDB와 함께 사용되므로 odbcinst.ini에 다음과 같이 두 개 항목이 저장되어있습니다.
[MariaDB]
Description=MariaDB Connector/ODBC
Driver=/usr/lib64/libmaodbc.so
[Altibase]
Description=Altibase 64bit Connect Driver
Driver=/home/altibase/altibase_home/lib/libaltibase_odbc-64bit-ul64.so
/etc/odbcinst.ini를 수정하기 위해서는 sudo 권한이 필요합니다. 다음 명령을 수행해서 위의 내용을 작성합니다.
sudo vi /etc/odbcinst.ini
odbc.ini 파일 수정
odbc.ini에는 접속에 필요한 최소한의 값만 설정합니다. 그 외 다른 설정값을 보기위해서는 아래 링크를 참고하시면 되겠습니다.
저의 경우 최소한의 접속 정보만 아래와 같이 기술하였습니다. mariadb와 altibase 두 개의 dsn이 있어서 아래와 같이 설정하였습니다.
[mariadb-dsn]
Description=DSN to MariaDB
Driver=MariaDB
SERVER=localhost
USER=tpcc
PASSWORD=tpcc
DATABASE=tpcc
PORT=3306
[altibase-dsn]
Description=DSN to Altibase
Driver=Altibase
SERVER=localhost
USER=sys
PASSWORD=manager
DATABASE=mydb
PORT=20077
unixODBC를 통한 altibase 접속 테스트
이제 설치 및 unixODBC 설정이 완료되었으면 unixODBC에서 제공하는 커맨드라인 툴인 isql을 통해서 접속을 해보면 됩니다.
아래와 같이 접속합니다. -v는 혹시 에러가 발생하였을 때 에러 정보를 자세히 보여달라는 의미입니다. 접속 후 몇 가지 질의를 수행해 보면 결과가 잘 나타납니다.
~$ isql -v altibase-dsn
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from dual;
+------+
| DUMMY|
+------+
| X |
+------+
SQLRowCount returns -1
1 rows fetched
SQL> select db_name from v$database;
+---------------------------------------------------------------------------------------------------------------------------------+
| DB_NAME |
+---------------------------------------------------------------------------------------------------------------------------------+
| mydb |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns -1
1 rows fetched
SQL>
unixODBC 관련 환경 변수
unixODBC는 다음과 같은 환경 변수를 사용합니다.
- ODBCSYSINI: 이 환경 변수는 unixODBC의 시스템 수준 설정 파일들이 위치한 디렉토리를 지정합니다. 예를 들어, odbcinst.ini 파일의 위치를 지정하는 데 사용됩니다.
- ODBCINI: 이 환경 변수는 사용자 수준의 ODBC 설정 파일인 .odbc.ini 파일의 위치를 지정합니다. 이 파일은 데이터 소스 이름(DSN)과 그에 대한 설정을 포함합니다.
- LD_LIBRARY_PATH (Linux 및 Solaris) 또는 LIBPATH (AIX): 이 환경 변수는 ODBC 드라이버 라이브러리의 위치를 지정합니다. unixODBC는 이 환경 변수를 참조하여 필요한 드라이버 라이브러리를 찾습니다.
이러한 환경 변수들은 unixODBC의 동작을 제어하고, ODBC 설정과 드라이버의 위치를 지정하는 데 사용됩니다.
만약 unixODBC를 이용하여 접속하는데 문제가 발생한다면 위의 환경 변수들이 설정되어있거나 잘못되어있지 않은지 확인해 보시기 바랍니다.
우분투 리눅스에서 unixODBC의 시스템 환경 설정 파일은 /etc/ 디렉토리 하위에 odbcinst.ini와 odbc.ini로 있습니다.
오늘은 unixODBC를 통해서 altibase dbms에 접속하는 방법을 알아보았습니다. 생각보다 쉽게 몇 가지 설정만 완료하면 어려움 없이 접속하실 수 있습니다. 간편하게 사용하시려면 unixODBC를 이용해 보시는 것도 좋을 것 같습니다.
다음에는 파이썬(python)에서 unixODBC와 pyodbc 라이브러리를 통해서 altibase에 접근하는 방법을 알아보겠습니다.
'IT' 카테고리의 다른 글
구글 클라우드(gcp) 방화벽 해제 방법 - 규칙 설정 (2) | 2024.02.08 |
---|---|
우분투 22.04 리눅스에서 pyodbc로 altibase DBMS 연동하기 (2) | 2024.02.07 |
DBMS : 데이터베이스 시스템에서 빈 문자열''과 NULL의 처리방법에 대해서 - 오라클 : 알티베이스 (3) | 2024.02.07 |
Altibase|알티베이스 DBMS 무료 다운로드 및 테스트 방법 - 90 day free trial license | WSL Linux에서 테스트 하기 (2) | 2024.02.06 |
unixODBC: 오픈 소스의 ODBC 라이브러리와 Ubuntu에 설치하고 PostgreSQL 예제 확인하기 (2) | 2024.02.06 |