반응형
최근 담당한 업무에서 다양한 DB를 만져야할 필요가 생겨 개발환경 구축을 했고 그 기록을 남긴다.
작업환경 및 전제조건
- Windows10 Home의 wsl에서 도커환경을 구축
- DBeaver설치(DB접속확인용)
- https://koiking.tistory.com/121 이 포스트대로 DB설치가 끝나있을 것
- 파이썬의 가상환경이 설치되어있을 것
1. 라이브러리 준비하기
PyCharm의 터미널에서 (가상환경)
pip install cx_Oracle
pip install mysql-connector-python
pip install psycopg2
※ 아래와 같이 라이브러리가 설치되야함
※ 오라클의 경우 운영체제에 맞는 오라클 클라이언트를 추가로 설치해주어야한다.
내 경우 32비트 윈도우용 오라클 클라이언트가 필요했다
https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html
2. 코드
※ 전체코드
https://github.com/leeyoungseung/database-ex/commit/755d76d8b2303c68898b909c6fa16b9cd5e3bcbc
1) Oracle 접속코드
import cx_Oracle
# Oracle의 경우 클라이언트의 경로를 환경변수에 설정하거나, 코드내부에서 직접 경로를 설정해야 했다.
# 내경우 코드내부에서 직접설정했다.
cx_Oracle.init_oracle_client(r"C:\Users\leeyoungseung\project_source\database-ex\instantclient_11_2")
# Oracle 데이터베이스에 접속
dsn = cx_Oracle.makedsn(host='localhost', port='1521', sid='xe')
connection = cx_Oracle.connect(user='hr', password='1234', dsn=dsn)
# 커넥션 상태 확인
if connection:
print("Oracle DB 연결 성공")
else:
print("Oracle DB 연결 실패")
exit(100)
# 접속된 데이터베이스에서 쿼리 실행
cursor = connection.cursor()
cursor.execute("SELECT * FROM JOBS WHERE ROWNUM <= 100")
result = cursor.fetchall()
# 쿼리 결과 출력
for row in result:
print(row)
# 연결 종료
connection.close()
exit(0)
2) MySQL 접속코드
import mysql.connector
# MySQL 데이터베이스에 접속
connection = mysql.connector.connect(
host='localhost',
port='3307',
user='root',
password='mysql',
database='world'
)
# 커넥션 상태 확인
if connection.is_connected():
print("MySQL DB 연결 성공")
else:
print("MySQL DB 연결 실패")
exit(100)
# 접속된 데이터베이스에서 쿼리 실행
cursor = connection.cursor()
cursor.execute("SELECT * FROM city LIMIT 100")
result = cursor.fetchall()
# 쿼리 결과 출력
for row in result:
print(row)
# 연결 종료
cursor.close()
connection.close()
connection.close()
exit(0)
3) PostgreSQL 접속코드
import psycopg2
# PostgreSQL 데이터베이스 연결
connection = psycopg2.connect(
host="localhost",
port="5433",
user="admin",
password="postgres",
database="postgres"
)
# 커넥션 상태 확인
if connection:
print("PostgreSQL DB 연결 성공")
else:
print("PostgreSQL DB 연결 실패")
exit(100)
# 접속된 데이터베이스에서 쿼리 실행
cursor = connection.cursor()
cursor.execute("SELECT * FROM category LIMIT 100")
result = cursor.fetchall()
# 쿼리 결과 출력
for row in result:
print(row)
# 연결 종료
cursor.close()
connection.close()
3. 실행결과
반응형
'데이터베이스 > 환경설정 및 개발' 카테고리의 다른 글
Java를 사용하여 Insert, Select, Update, Delete SQL사용하기 (0) | 2023.07.23 |
---|---|
Java를 사용하여 DB연결 (0) | 2023.07.10 |
도커를 사용하여 DB설치 (0) | 2023.07.09 |
댓글