내 로컬 컴퓨터에서
저는 Oracle 데이터베이스에서 데이터를 검색하는 스크립트를 파이썬으로 만들었습니다. DB에 대한 연결은 cx_Oracle을 사용하여 수행됩니다.
con= cx_Oracle.connect (username, password, dbService)
SQL 개발자를 사용하는 경우 사용자 지정 JDBC를 사용하여 연결이 설정됩니다.
Linux 서버에서 절차를 복제합니다.
- cx-Oracle pip가 설치된 Python 가상 환경을 만들었습니다.
- 서버에 Oracle 19.3.0이 설치되어 있고 instantclient폴더가 있습니다.
python 스크립트를 있는 그대로 실행하려고 하면 다음 오류가 발생합니다.
cx_Oracle.DatabaseError: DPI-1047: 64비트 Oracle을 찾을 수 없습니다. 클라이언트 라이브러리: DPI-1047: 64비트 Oracle 클라이언트 라이브러리를 찾을 수 없습니다. "libclntsh.so: 공유 개체 파일을 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다." 도움이 필요하면 참조
나는 문제가 python이 예상한 것과 다른 Oracle 경로라고 가정했습니다. 그래서 Oracle 라이브러리가 있는 경로를 정확히 가리키는 이 추가 code 줄을 추가했습니다.
cx_Oracle.init_oracle_client(lib_dir=r"/apps/oracle/product/19.3.0/lib")
이렇게 하면 다른 오류가 발생합니다.
cx_Oracle.DatabaseError: 오류에 대한 텍스트를 검색하는 동안 오류가 발생했습니다. ORA-01804
단서가 있습니까?