2013-07-17 5 views
0

우리는 node.js 앱을 사용하여 Ubuntu 12.04.1 LTS 서버에서 Oracle 11g 서버 (Enterprise 버전 11.2.0.1.0 - 64 비트 제품)에 연결하려고합니다. 우리는 노드 v0.10.12와 nearinfinity 노드 -Oracle 모듈 0.3.1을 실행 중입니다. stackoverflow에는 다른 노드 인 oracle 모듈 인 node-db-oracle에 관한 다른 게시물이 있지만 node-waf가 사용되지 않으므로 해당 버전은 더 이상 유지 관리되지 않으며 Node 0.10.12로 빌드 할 수 없습니다.Node.js 용 노드 - Oracle 드라이버를 사용하여 Oracle 11g에 연결할 수 없습니다 : 호환 가능합니까?

sqlplus64 클라이언트와 간단한 3 행 PHP 프로그램에서 연결할 수있는 동일한 연결 정보를 사용하더라도 가장 작은 노드 프로그램도 연결되지 않습니다. 연결 기능에 전달 된 json의 모든 연결 정보 지정, 사용자, 암호 지정, oracle tnsnames.ora 파일의 연결 문자열 참조 또는 연결 문자열 전달과 같은 모든 연결 옵션을 시도했습니다. 직접 json에.

오류 : ORA-12154 : TNS : 연결 식별자가

를 지정하거나 확인할 수 없습니다 우리가 약간의 매개 변수를 변경하는 경우 :

오류 : ORA-12514를 : TNS 우리는 두 가지 오류 중 하나가 도착 : 청취자는 현재 연결 기술자에서 요청 된 서비스를 알지 못합니다.

데이터 센터의 여러 Oracle 서버 (SID = databasename 규칙을 사용하는 단일 서버 및 SERVICE_NAME = database_servicename 규칙을 사용하는 RAC 시스템)에 연결을 시도했습니다. 두 경우 모두 같은 이야기.

나는 다른 모든 Node.js/Oracle 게시물을 여기에서 살펴보고 그들이 말하는 모든 것을 시도했다. sqlplus64 사용자 이름/암호 @ SID_NAME이 (가) 즉시 연결됩니다. 나는 내가 사용하고있는 버전의 조합이 단순히 함께 작동하지 않는다고 결론 짓기 시작했다. 어떤 아이디어?

답변

0

해결책은 아직 출시되지 않은 모듈에 대한 최신 패치를 사용하는 것이 었습니다. 현재 릴리스는 node-oracle의 0.3.1입니다. 해당 버전에는 TNS 지원 수정 사항이 없습니다. 모듈의 최신 코드를 github에서 새 디렉토리로 체크 아웃하고 거기에 빌드 (해당 디렉토리의 'npm link') 한 다음 프로젝트 디렉토리에서 npm 링크 oracle을 수행하면 수정 된 버전으로 새 버전을 얻을 수 있습니다. 우리는 플랫폼과 관련된 많은 권한 문제를 해결해야만 했으므로 여기서는 그 내용을 자세히 다루지 않을 것입니다. 나는 모듈의 저자가이 패치 된 버전을 0.3.2로 곧 발표 할 것을 요청했다.

+0

오늘 저녁 node-oracle 모듈 작성자는 0.3.2를이 수정 사항이 포함 된 npm 저장소에 릴리스합니다. –