본문 바로가기
Python

[Python] pyodbc 라이브러리 사용하여 Altibase 연결하기.

by 윤팍 2021. 3. 12.

pyodbc 란?

ODBC 드라이버를 통해 데이터베이스와 연결할 수 있는 Python 라이브러리 

pyodbc 설치 (CentOS 기준)

pyodbc 를 사용하기 위해선 ODBC 드라이버 와 패키지가 설치되어 있어야 한다.

yum install unixODBC unixODBC-devel
yum install gcc-c++
yum install python-devel
yum install pyodbc

DB 연결하기

DB에 연결하기 전 ODBC Manager 가 정상 설치 되어있는지 확인하여야 한다.

# isql --version // ODBC Manager 드라이버 확인
unixODBC 2.3.9
# odbcinst -j // ODBC Manager 정보 확인

ODBC 설정을 위해 두 가지 파일을 설정해주어야 한다. odbc.ini 와 odbcinst.ini 파일이다. 

odbcinst.ini 파일에는 드라이버 정보가 들어간다. 그리고 이 정보는 odbc.ini가 가져가게 된다.

odbc.ini파일은 드라이버 정보를 가지고 오고 또한 접속하려는 서버의 정보가 들어간다.

# cat /etc/odbcinst.ini
[Altibase Driver]
Description=Altibase ODBC Driver
Driver=/opt/altibase-client-7.1.0/lib/libaltibase_odbc-64bit-ul64.so
odbcinst.int 파일에 대한 설명이다.
[ODBC diver 명이 된다. 어떤식으로 작성하든 상관없다. odbc.ini에 드라이버명에 이 이름이 들어간다]
Description : 말 그대로 드라이버 설명이다.
Driver : 불러올 드라이버 경로와 함께 풀네이밍을 적어준다. 해당 드라이버를 쓰기 때문.

 

# cat /etc/odbc.ini
[altiodbc]
Driver=Altibase Driver
Server=0.0.0.0(server ip)
Port=20300
Database=mydatabase
odbc.ini 파일에 대한 설명이다.
odbc.ini 파일이 없다면 만들어도 된다.
[Data Source Name이라고 해서 DSN이라고 부른다. 아래 설정한 정보를 전부 가지고 있는 이름이다.]
Driver : odbcinst.ini에서 [ ]에 들어갔던 이름을 똑같이 적어줘야 한다.
Server : 서버 IP
Port = 보통 Altibase 기본 포트는 20300 이다. 다른 포트를 사용하고 싶을떈 다르게 입력하면 된다.
Database : 접속하고자 하는 Database 명을 적어준다.

 

Python에서 확인하기

import pyodbc

conn = pyodbc.connect('DSN=altiodbc;UID=younpark;PWD=younpark00')
cur = conn.cursor()
cur.execute('select * from tablename')

DSN 에 odbc.ini에 설정한 [ ] 이름을 넣어주면 된다.

나머지는 보시는 바와 같다

 

 

마치며

파이썬에서 Altibase를 연결하기 위해 많은 것 들을 찾아보았네요 까먹지 않게 정리할려고 정리해봤습니다.

도움이 되셨으면 좋겠습니다.