본문 바로가기
IT

우분투 22.04 리눅스에서 unixODBC로 altibase DBMS 연동하기

by developer's warehouse 2024. 2. 7.

이 문서는 우분투 22.04 리눅스에 unixODBC가 설치되어있고, altibase가 설치되어있는 상태에서 unixODBC로 altibase dbms를 연동하는 방법에 대해서 설명합니다. 하지만, 준비가 되어있지 않는 경우에 대한 문서 링크도 있으니 아래 링크에서 참고하시면 처음부터 따라하실 수 있습니다.

unixODBC로 altibase DBMS 연동하기

사전 준비

unixODBC와 altibase가 설치되어있다고 가정하고 관련 지식을 알고 있어야 합니다. 하지만, 준비가 되어있지 않으시다면 아래 링크를 참고해서 준비하시고 다시 이 문서로 와서 이후 작업을 따라하시면 됩니다.

unixODBC 설치하기

unixODBC 설치가 되어있지 않은 경우 다음의 링크를 참고해서 설치하시면 됩니다.

unixodbc 설치 방법

 

altibase 설치하기

Altibase는 고성능의 인메모리 데이터베이스 관리 시스템(DBMS)입니다. 이 제품은 무료로 사용할 수 있는 라이선스를 제공하고 있으므로 테스트 해보기에 좋습니다. 설치 및 테스트 방법은 아래 링크를 참고하시면 됩니다.

altibase 설치 방법

 

 

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에는 접속에 필요한 최소한의 값만 설정합니다. 그 외 다른 설정값을 보기위해서는 아래 링크를 참고하시면 되겠습니다.

unixodbc 설정 방법 보러 가기

저의 경우 최소한의 접속 정보만 아래와 같이 기술하였습니다. 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는 다음과 같은 환경 변수를 사용합니다. 

  1. ODBCSYSINI: 이 환경 변수는 unixODBC의 시스템 수준 설정 파일들이 위치한 디렉토리를 지정합니다. 예를 들어, odbcinst.ini 파일의 위치를 지정하는 데 사용됩니다.
  2. ODBCINI: 이 환경 변수는 사용자 수준의 ODBC 설정 파일인 .odbc.ini 파일의 위치를 지정합니다. 이 파일은 데이터 소스 이름(DSN)과 그에 대한 설정을 포함합니다.
  3. 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에 접근하는 방법을 알아보겠습니다. 

 

 

facebook twitter kakaoTalk kakaostory naver band shareLink