본문 바로가기
IT

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

by developer's warehouse 2024. 2. 7.

지난 포스팅에서 unixODBC를 통해 altibase memory db에 접속하는 것을 확인하였습니다. 이번에는 python의 pyodbc로 해당 DBMS에 접근해서 데이터 조작을 하는 방법을 알아보도록 하겠습니다.

우분투 22.04 리눅스에서 pyodbc로 altibase DBMS 연동하기 썸네일

pyodbc란?

pyodbc는 오픈 소스 Python 모듈로, ODBC(Open Database Connectivity) 데이터베이스에 간편하게 접근할 수 있도록 도와줍니다. 이 모듈은 DB API 2.0 명세를 구현하며, 파이썬에서 사용하기 편리한 편의성을 제공합니다.

pyodbc를 사용하면, Python에서 SQL Server, MySQL, PostgreSQL, Altibase 등 다양한 데이터베이스에 연결할 수 있습니다. 이를 통해 SQL 쿼리를 실행하거나 데이터를 추출하는 등의 작업을 수행할 수 있습니다.

pyodbc는 pip를 통해 쉽게 설치할 수 있으며, Windows, macOS, Linux 등 다양한 플랫폼에서 사용할 수 있습니다. 또한, pyodbc는 C++ 확장을 포함하고 있어, 소스 코드로부터 빌드할 때는 적절한 C++ 컴파일러가 필요합니다.

pyodbc 설치

pyodbc를 사용하기 위해서는 먼저 내 환경에 설치를 해야합니다. pyodbc 설치는 간단하게 다음 명령을 수행해서 설치하시면 됩니다.

% pip install pyodbc
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pyodbc in ./.local/lib/python3.10/site-packages (5.0.1)

저의 경우 이미 설치되어있어서 위와 같은 메시지가 나오며 새로 설치되는 경우에는 다음과 같은 메시지가 출력되고 설치가 성공하게 됩니다.

% pip install pyodbc
Collecting pyodbc
  Downloading pyodbc-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (334 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 334.7/334.7 KB 4.9 MB/s eta 0:00:00
Installing collected packages: pyodbc
Successfully installed pyodbc-5.1.0

 

Altibase 접속 예제

아래는 pyodbc를 사용하여 Altibase에 연결하고, 간단한 SQL 쿼리를 실행하는 파이썬 코드 예제입니다. 이 코드는 Altibase 서버에 연결하고, ‘SELECT’ 쿼리를 실행하여 결과를 출력합니다.

import pyodbc

# Altibase 연결 문자열을 설정합니다.
conn_str = (
    "DSN=altibase-dsn;"
    "UID=sys;"
    "PWD=manager;"
)

pyodbc.pooling = False
# Altibase에 연결합니다.
conn = pyodbc.connect(conn_str)

# 커서를 생성합니다.
cursor = conn.cursor()

# SQL 쿼리를 실행합니다.
cursor.execute("SELECT * FROM dual")

# 결과를 출력합니다.
for row in cursor:
    print(row)

# 연결을 닫습니다.
conn.close()

이 코드는 Altibase 서버가 로컬에 설치되어 있고, ‘altibase-dsn’이라는 Data Source Name이 unixODBC에 정의되어있다는 것을 가정합니다.

이 코드를 실행하기 전에 Altibase ODBC 드라이버가 시스템에 설치되어 있어야 하며, 해당 드라이버가 odbcinst.ini에 등록되어있고 odbc.ini 파일에 Data Source Name이 altibase-dsn으로 등록되어 있어야 합니다.

unixODBC 설정관련해서는 아래 링크를 확인하시기 바랍니다.

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

Altibase에 접속 후 dual 테이블에서 모든 레코드를 검색하고 출력하도록 작성되었습니다.

altibase에서 dual 테이블에는 'X' 라는 레코드 하나가 들어있으므로 결과는 다음과 같이 나타납니다.

('X',)

 

오늘은 unixODBC와 altibase odbc 라이브러리로 pyodbc를 사용하는 방법에 대해서 알아보았습니다.

pyodbc는 파이썬에서 쉽게 db에 접근해서 dml을 수행할 수 있도록 만들어진 편리한 라이브러리입니다. 다양한 db에 접근을 쉽게 할 수 있고 파이썬을 사용하기 편리하게 해 줍니다.

 

facebook twitter kakaoTalk kakaostory naver band shareLink