본문 바로가기

Utils

DB 접속하기 - DB 명세서 엑셀 자동화 (1) | Python

DB 접속하기 - DB 명세서 엑셀 자동화 (1) ❘ Python

 

파이썬으로 DB 명세서 엑셀 자동화하기 (1) - DB 접속하기

 

이미 운영되고 있는 서비스의 DB 명세서를 작성하려면 엄청난 시간이 들어갑니다 😢

DB에 접속하여 테이블 정보를 검색한 뒤 엑셀로 저장하는 프로그램을 작성해봅니다.


라이브러리

사용하는 DBMS에 맞는 라이브러리를 사용합니다.


DB 접속정보 정의

class DbConfig:
	HOST = "192.168.xxx.xxx"
    PORT = 1234
    USER = "user"
    PASSWORD = "password"
    DATABASE = "db"
    CHARSET = "utf8mb4" # MySQL

 

DB 접속

MySQL

# DB 연결 생성
conn = pymysql.connect(
host=DB_CONFIG.HOST,
port=DB_CONFIG.PORT,
user=DB_CONFIG.USER,
password=DB_CONFIG.PASSWORD,
database=DB_CONFIG.DATABASE,
charset=DB_CONFIG.CHARSET,
cursorclass=pymysql.cursors.DictCursor,
)
# 반납해야 하는 자원
with conn.cursor() as cursor:
# TODO - 테이블명 리스트 조회
view raw excel_db_1.py hosted with ❤ by GitHub

Oracle

oracle client를 설치하고 해당 경로를 환경변수에 설정합니다.

https://www.oracle.com/kr/database/technologies/instant-client/winx64-64-downloads.html

import cx_Oracle
import os
# oracle client 경로 설정
os.environ["PATH"] = "C:\\instantclient-basic-windows....;" + os.environ["PATH"]
# Oracle
conn = cx_Oracle.connect(
DB_CONFIG.USER,
DB_CONFIG.PASSWORD,
f"{DB_CONFIG.HOST}:{DB_CONFIG.PORT}/{DB_CONFIG.DATABASE}",
)
# 반납해야 하는 자원
with conn.cursor() as cursor:
# TODO
view raw excel_db_2.py hosted with ❤ by GitHub

728x90