programing

오라클의 클라이언트와 cx_Oracle을 설치하지 않고 오라클 db에 액세스하려면 어떻게 해야 합니까?

kingscode 2023. 7. 20. 22:51
반응형

오라클의 클라이언트와 cx_Oracle을 설치하지 않고 오라클 db에 액세스하려면 어떻게 해야 합니까?

Python 2.4와 2.6을 개별적으로 실행하는 두 개의 RHEL 서버가 있습니다.액세스해야 하는 다른 서버에 Oracle 데이터베이스가 있습니다.

RHEL 서버에 cx_oracle을 설치하려고 했는데 Oracle 클라이언트를 먼저 설치해야 한다는 것을 알게 되었습니다.

문제는 두 RHEL 서버 모두에 Oracle 클라이언트를 설치할 수 있는 권한이 없다는 것입니다.동일한 서버에서 Perl 프로그램은 다음을 사용하여 Oracle db에 연결할 수 있습니다.

DBI->connect("dbi:Oracle:host=myhost.prod.com;sid=prddb",'username','password')

cx_oracle 및 Oracle 클라이언트를 설치하지 않고도 Python이 동일한 작업을 수행할 수 있습니까?아니면 동일한 작업을 수행하기 위해 모듈을 직접 작성하는 방법에 대한 제안이 있습니까?

잘 부탁드립니다!

https://forum.omz-software.com/topic/184/oracle-database 에서 발췌:

Oracle을 위한 순수한 python 클라이언트는 없으며 앞으로도 없을 것입니다.SQL Alchemy와 같은 훌륭한 타사 툴셋도 Oracle 데이터베이스 서버와의 실제 통신을 위해 cx_Oracle을 사용합니다.

--또한 Google이 결정한 바에 따르면, 현재로서는 순수한 Python Oracle 클라이언트가 존재하지 않는 것 같습니다.

일반적으로 필요한 것은 도서관뿐이며, 도서관에는 반드시 sudo 권한이 필요하지 않습니다.소프트웨어가 읽을 수 있는 위치에 추출하고 그에 따라 다음 환경 변수를 설정합니다.

ORACLE_HOME=path/to/where/you/extracted/libs
TNS_ADMIN=path/to/tnsnames.ora

tns 이름을 건너뛰고 연결에서 호스트, 포트 등을 지정하는 것만으로도 다행이지만 cx_oracle에 필요할 가능성이 높습니다.몇 년 전에 언제 사용했는지 기억이 안 나요.

cx_Oracle을 사용하지 않으려면 expect 스크립팅을 사용해야 합니다.(python pexpect의 경우).하지만 모든 기대를 처리하기 위해서는 신중해야 합니다.

언급URL : https://stackoverflow.com/questions/19142677/how-do-i-access-an-oracle-db-without-installing-oracles-client-and-cx-oracle

반응형