프로그래밍/Python

[Python]Oracle DB연동

guitarhero 2017. 10. 12. 11:29
728x90

필요한 기능을 파이썬으로 구현해 보고 싶어서 오라클 DB연동 방법을 찾아 보았다. 


1. python 2.7 32bit 설치.(내 컴퓨터에 깔려있는 버전인데, 64bit여도 인텔칩이면 32bit 까는게 편하단다.)

2. instant client 32bit 를 설치(11g 깔아도 10.0 에서 9 에서도 잘 된다.)

3. instant client 압축을 풀고(예, c:\oracle\instantclient_11_2\) “내컴퓨터 -> 속성 -> 고급 시스템 설정 -> 환경변수 -> 시스템 변수” 에서 PATH 변수에 파이썬 위치, instant client 위치를 등록한다(c:\python27;c:\oracle\instantclient_11_2\)

4. tnsnames.ora 를 참고해서 실제 서버 정보를 반영한 tnsnames.ora 파일을 위치(c:\oracle\instantclient_11_2\network\admin)에 추가한다.

5. cx_oracle 홈페이지에서 오라클 버전, python 버전에 맞춰 다운받아서 설치해준다.(python -m pip install cx_Oracle --upgrade)

6. 오라클 홈페이지 튜토리얼에 나와있는 대로 아래 코드를 파이썬으로 실행 했을때 버전정보가 뜨면 끝.


import cx_Oracle

con = cx_Oracle.connect('아이디/비밀번호@서버아이피/오라클SID')

print con.version

con.close()


DPI-1049 OCI-Client 에러가 났다. 

그래서 기존 client말고 11g basic으로 다시 받아서 path 설정을 해주고 cmd를 껐다가 켜서 확인하니 정상작동 되었다. 


[참조]https://haandol.wordpress.com/2014/04/17/windows%EC%97%90-cx_oracle-%EC%84%A4%EC%B9%98%ED%95%98%EC%97%AC-%EC%9B%90%EA%B2%A9-oracle-%EC%84%9C%EB%B2%84%EC%97%90-%EC%A0%91%EA%B7%BC%ED%95%98%EA%B8%B0/

728x90