2017-10-27 12 views
0

oracle_Cx 라이브러리와 함께 python을 사용하여 oracle 12c 데이터베이스에 대한 연결을 설정하려하지만 약간의 어려움이 있습니다. PL/SQL 개발자 (내 일반 사용자 계정과 dblink 연결을 사용하는 두 번째 계정을 사용할 때 두 개의 다른 사용자 이름과 암호를 사용하여 데이터베이스에 성공적으로 연결할 수 있습니다. 솔직히 말해서 그게 무슨 뜻인지는 모르겠지만, 그것은 내가 말한 것입니다). 파이썬과 oracle_Cx 라이브러리를 사용하여 데이터베이스에 연결하려고하면 일반 사용자 계정을 사용하여 아무런 문제없이 연결할 수 있지만 dblink 연결을 사용하려고하면 ORA-01017 오류가 발생합니다. 나는 텍스트 편집기에 사용자 이름과 암호를 입력 한 다음이를 복사하여 PL/SQL에 복사하고 변수에 oracle_Cx.connect로 전달하기 때문에 두 경우 모두 동일하게 암호를 입력한다는 것을 100 % 확신합니다. 기능, 예.Python에서 cx_Oracle을 사용할 때 ORA-01017 오류 (잘못된 사용자 이름/암호) 수신

oracle_ip = ourIpAddres 
oracle_port = ourPort 
oracle_SID = ourSID 
oracle_username = standardUsername 
oracle_password = standardPassword 
oracle_selfserve_username = selfServeUsernane 
oracle_selfserve_password = selfServePassword 

내가 잘못된 사용자 이름/암호 오류가 나는 '암호를 인용하여이 극복 될 수 있기 때문에 서버와 클라이언트의 경우 감도의 차이의 발생 및 수있는 다른 유래 게시물에 읽은 또한 사용해 보았습니다

oracle_selfserve_password = '\"imagineThisIsMyPassword\"' 

하지만 도움이되지 않았습니다.

나에게 어떤 제안이 있으십니까?

감사 브래드

답변

0

나는 연결을 설정하기위한 목적으로 작동하는 솔루션을 마련했습니다. cx_Oracle.connect 개별 변수 이름을 전달하는 대신 실제 연결 문자열을 구성하면 작동합니다.

db_selfserve2 = cx_Oracle.connect('notMyRealUserName/[email protected]:123456/serviceName') 
다음과 같은 명령

select sys_context('userenv','service_name') from dual; 
를 성공적으로 연결할 수있는 클라이언트를 사용하여 데이터베이스에 로그인하고 실행하여 서비스 이름을 찾을 수 있습니다