IT

[파이썬] 맥에서 파이썬 오라클 연동 오류(cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded)

생각파워 2018. 9. 21. 16:22

빨리보기 

1. oracle instant client 설치

2. oracle instant client 폴더 안에 있는 라이브러리를 ~/lib 폴더나 /usr/local/lib 폴더로 복사

3. 파이썬 프로그램 재실행

 


 

상세보기

 

파이썬의 PyQt5 패키지를 이용해서 윈도우 프로그램을 만들어보고 있습니다. 

 

PyQt5의 튜토리얼을 참고하면서 그럭저럭 잘 진행이 돼 왔는데,

 

오라클 데이터베이스와 연동하는 부분에서 문제가 발생했습니다. 

 

cx_Oracle 패키지를 이용해서 연결을 하는데, 아래와 같은 에러가 계속 발생하더라구요

 

 

 

 

별로 어려운 문장도 아닌데, 64bit라는 것만 눈에 뙇 들어오더라구요.

 

그래서 아키텍처가 안맞나 싶어서 확인을 해봤습니다. 

 

python, anaconda, oracle instant client가 다 64bit가 맞는지요.

 

확인해보니 다 64bit로 설치돼 있었습니다. 

 

한글로 검색해도 나오는 내용이 없고.... ㅠㅠ

 

 

 

며칠을 헤매다가 조금전에 해결했습니다. 

 

cx_Oracle 패키지에서 Oracle instant Client에 있는 라이브러리를 이용해서 접속을 하는데, 

 

그 라이브러리중에 libclntsh.dylib를 찾을 수 없다는 내용이었습니다. 

 

Oracle instant client 설치를 /Library/Oracle/instantclient_11_2에다가 해놓고 

 

그 폴더를 PATH에 추가해놓으면 라이브러리를  찾아쓸줄 알았더니 안되더라구요.

 

 

결론은 맥에서 라이브러리를 찾아가게 하려면 ~/lib 폴더나 /usr/local/lib 폴더에 라이브러리를 넣어놓으면 됩니다.

 

oracle instant client를 설치하고, 그 안에 있는 라이브러리들을 ~/lib 폴더나 /usr/local/lib 에 복사해주시면 되죠.

 

 

 

명령어가 궁금하신 분은 아래 주소에 가셔서 3번을 참고하시면 됩니다.  

 

https://oracle.github.io/odpi/doc/installation.html#macos 

 

영어가 부담스러워서 대충대충 보는 바람에 이렇게 오래걸렸습니다. 

 

해결하고 나니까 다 해석돼 ㅋㅋ 

반응형