오경석의 개발노트

TiberoDB_Tibero6, Python연동(pyodbc) 본문

프로그래밍 언어/TiberoDB

TiberoDB_Tibero6, Python연동(pyodbc)

OHSAYU 2024. 1. 16. 13:38

1. tbodbc_driver_installer_6_64.exe 파일 실행

 - 경로 : C:\TmaxData\tibero6\bin

 - 기본 설치 경로가 다를 경우 해당 경로에서 실행(Tibero6 윈도우 버전으로 설치했을 경우)

 - CMD에서 실행 시 해당 경로에서 start tbodbc_driver_installer_6_64.exe 명령어 입력(Tibero6 윈도우 버전으로  설치했을 경우)

 - 리눅스에서 실행 시 ./tbodbc_driver_installer_6_64.exe(Tibero6 리눅스 버전으로  설치했을 경우)

 

2. 시스템 DSN 추가

 - 경로 : 제어판 > 관리 도구 > ODBC 데이터 원본(64비트)

 - 시스템 DSN > 추가 > Tibero 6 ODBC Driver로 선택

 - 각 정보를 입력 후 'Test' 버튼 클릭.

 - 'Data Source Name(DSN)'은 pyodbc에 연결할때 필요하므로 임의로 기입

 - 연결 성공했을 경우 '확인' 버튼 클릭

 

3. 파이썬에서 pyodbc 라이브러리 설치 후 import

pip install pyodbc
import pyodbc

 

4. pyodbc, tibero 연동

# 연결 문자열 구성 예제 (Tibero)
driver_name = "Tibero 6 ODBC Driver"
dsn_name = "tibero"
uid = "sys"
pwd = "tibero"

# 연결 문자열 생성
connection_string = f"DRIVER={{{driver_name}}};DSN={dsn_name};UID={uid};PWD={pwd}"

# 연결
connection = pyodbc.connect(connection_string)

# 커서 생성
cursor = connection.cursor()

# SQL 쿼리 실행 예제
cursor.execute("SELECT * FROM all_users;")

# 결과 가져오기
rows = cursor.fetchall()
for row in rows:
    print(row)
    
# 연결 닫기
connection.close()

>>>

('SYSCAT', 11.0, datetime.datetime(2024, 1, 16, 10, 50, 55))
('SYSGIS', 12.0, datetime.datetime(2024, 1, 16, 10, 50, 55))
('OUTLN', 13.0, datetime.datetime(2024, 1, 16, 10, 50, 55))
('TIBERO', 18.0, datetime.datetime(2024, 1, 16, 10, 50, 57))
('TIBERO1', 19.0, datetime.datetime(2024, 1, 16, 10, 50, 57))
('SYS', 0.0, datetime.datetime(2024, 1, 16, 10, 50, 48))

 

※ 파이썬에서는 각 DB와 연동하는 라이브러리를 제공한다. 하지만 티베로는 라이브러리가 없어서 ODBC 방식으로 연동해야한다. 

Comments