2012-10-08 13 views
0

스크립트를 작성하여 데스크톱 'B'의 Oracle DB (10g) 및 응용 프로그램 서버를 대상으로 한 데스크톱 'A'에서 실행했습니다. 그것은 아무 문제없이 달렸다.cx_Oracle 오류 ORA-24315 연결시 ... 가끔

나는 다음 바탕 화면 'B'로 스크립트를 복사하고 다음과 같은 밖으로 말다툼 : 'ORA-24315 : 불법 속성 유형'다음 코드에서 :

cx_dsn = cx_Oracle.makedsn(cx_hostname, cx_port, cx_SID) 
cx_connection = cx_Oracle.Connection(cx_username + '/' + cx_password + '@'+ cx_dsn) 

두 시스템은 다음과 같이 구성되었다 :

  • 윈도우 7 (64 비트)
  • 파이썬
  • 32 비트 버전 (은 ActiveState)
  • pypm 버전 cx_Oracle.clientv 결과 CX-오라클 (설치 (11, 2, 0, 3, 0) - 그렇습니다. v11을 나타내지 만 데스크톱 'A'의 10g 버전과 호환됩니다.)

데스크톱 'B'는 Oracle 10g 및 WebSphere 7 설치 - 데스크톱 'A'는 내가 검색하고 많은 사람들이이 문제 또는 유사하지만 일반적으로 뭔가가 발생했을

을하지 않았다 유일한 제안 된 솔루션을했다 :

  1. 경로가 참조하지 않는지 확인 파이썬 라이브러리 이전의 오라클 라이브러리 - 오라클이 데스크톱 B에 설치한다는 것은 inteferring이라는 것입니다. 그래서 경로를 구성하여 파이썬 (오라클에 대한 언급 없음)을 만들었습니다. - 도움이 안되었습니다.
  2. 32 비트 버전의 모든 것을 사용하고 있는지 또는 64 비트 버전의 모든 것을 사용하고 있는지 확인하십시오. 보드가 파이썬에 관한 한 멀리까지
  3. cx-Oracle이 대상 데이터베이스와 일치하는지 확인하십시오 ... 문제가있는 것 같습니다.하지만 이상한 점은 스크립트가 데스크톱에서 작동한다는 것입니다. A '그래서 바탕 화면'B '에서 환경적인 것이어야한다고 생각합니다. 그래서 내가 가서 cx_Oracle 전용 10g 버전을 설치하십시오. 성공도 없습니다. (이 쿼리 https://stackoverflow.com/questions/10456598/cx-oracle-multiple-instances-of-oracle-10-and-11-plus-oracle-home는 대답하지만, 본질적으로 유사한 소리하지 않은)

그래서 나는 붙어있다 - 어떤 제안?

+0

모든 변수와 리터럴이 유니 코드 문자열이 아닌 바이트 문자열인지 확인하십시오. 그것일지도 모른다. –

+0

나는 그것을 시도하고 그것이 확실히 유니 코드 문자열 문제가 아니라는 것을 확인했다. 나는 깨끗한 XP 컴퓨터에서 설치를 반복했고 데스크톱 'B'에 연결하는 데 문제없이 작동 했으므로 cx_Oracle이 Oracle 'db'데스크톱에서 로컬로 설치해야합니다. 해결책을 게시 할 때 해결책을 얻습니다. . – belvoir

답변

0

두 번째 Oracle 클라이언트를 다른 버전으로 설치 한 후 ORA-24315 오류가 발생했습니다. PATH 환경 변수에서 우리는 단순히 Oracle 경로 항목의 순서를 변경했습니다. 아마도 cx_Oracle은 PATH 변수에서 Oracle의 첫 번째 모양만을 고려합니다.

우리의 구성 : 승 7, 오라클 11.2.0.3, cx_Oracle과-5.1.1-11g.win32-py2.6

변경 : 또한 오라클 10.2.0

를 설치 한 결과 오류 메시지 : cx_Oracle.DatabaseError : ORA-24315 : 불법 속성 유형

우리는 다시 일을 가지고 방법 : 이 경로가 path_to_Oracle10에서 주문 변경, path_to_Oracle11; ... 에path_to_Oracle11, path_to_Oracle10; ...

0

내가 상관없이 내가 연결을 시도하는 방법 오류 ORA-24315을 받고되지 않았다.

해결책 :

나는 원래 다운로드

/를 Ora11g 버전을 설치하지만 데이터베이스는 10g이다. 10g 버전의 cx_Oracle을 설치했으며 연결이 처음으로 작동했습니다.