이전 블로그에서 백업된 내용입니다.
개요
파이썬과 오라클DB를 연결하기 위한 라이브러리는 cx_Oracle이며 조사하면 이에 관한 글이 많이 나옵니다 파이썬 3.7.x 버전 기준으로 해당 라이브러리를 설치하고 이용해본 결과 에러가 발생했습니다. cx_Oracle 라이브러리와 오라클 db에 연결하기 위해 시도했던 내용을 남기고자 합니다.
설치하기
$ pip install cx_oracle
연동을 위해 필요한 것
다운로드를 다 받고 압축을 푼 다음 압축을 푼 경로를 환경변수 ( System 환경변수) 에 추가하면 끝입니다.
사용하기
cx_Oracle에 빨간 줄은 무시해도 됩니다. 처음에는 import 못하는 것인가 했지만 정상적으로 작동이 됩니다. 대략적인 사용 방법은 아래 이미지와 같습니다. connect() 메소드로 연결이 가능하고 첫 번째 인자에 DB에 접속할ID ,두 번째 인자로 DB에 접속할 Password ,세 번째 인자로 DB서버IP:포트:sid가 필요합니다
DB_ID가 "user"이고 DB_Password가 "1234" 이고 DB서버IP가 127.0.0.1이고 DB_Port가 1521이고 연결할 sid가 xe 이면 다음과 같이 쓸수 있습니다 -> cx_Oracle.connect("user","1234","127.0.0.1@1521/xe")
만약 insert into로 테이블에 값을 집어넣고 싶을 땐 다음과 같은 문법을 쓰면 됩니다.
query = "insert into nursery VALUES(:column_name1,:column_name2)"
cur.execute(query,column_name1="param1",column_name2="param2")
Error Note
읽었을 때 Oracle Client 버전이 0.0이고 11.2 혹은 더 높은 버전이 필요하단 걸로 보입니다. 위에서 기술한 instant_client의 환경변수 설정이 이 환경에서는 잡지 못하고 있습니다. 해결하기 전의 환경은 다음과 같습니다
Python Version: Python3.7.3
PlatForm: Windows7
IDE: Pycharm 2019.1
환경변수 설정에서 instantclient 경로를 못 찾나 싶어서 여러 삽질을 했지만 환경변수 설정은 문제 없었고 단순히 Python Version을 다운그레이드 시켜 해결했습니다. 변경 후 환경에서는 다음과 같습니다.
Python Version: Python3.6.7
PlatForm: Windows7
IDE: Pycharm 2019.1
'Language > Python' 카테고리의 다른 글
Name Magling (0) | 2022.12.05 |
---|---|
[SQLAlchemy] declarative_base 로부터 DB에 테이블 생성하기 (0) | 2022.10.01 |
Boolean Trap (0) | 2022.04.07 |
구글 스프레드시트 이용 시 gspread 설정하기 (0) | 2022.04.07 |
프로세스의 실행 경로 가져오기 (0) | 2022.04.05 |