2010-02-08 1 views
2

Oracle Application Server 10g에 배포 된 웹 응용 프로그램에서 "네트워크 어댑터가 연결을 설정할 수 없습니다"라는 오류가 발생합니다. 데이터베이스가 로컬이므로 연결 문제가 없어야합니다.JDBC : Oracle Application Server 및 "네트워크 어댑터가 연결을 설정할 수 없습니다"오류

첫 번째 테스트 : SQL Plus, 쿼리 실행 등의 문제없이 DB에 연결할 수 있습니다. 두 번째 테스트 : 서버에 로컬로 설치된 JDeveloper에서 데이터베이스에 아무런 문제없이 연결할 수 있으며 쿼리를 실행합니다. . 문제 없어. 이것은 짧은 JDBC scring과 긴 스크립트 (아래 참조)와 함께 작동합니다. (CONNECT_DATA = (SERVICE_NAME = abcd) (SERVER = DEDICATED)) 설명 : CONNECT_DATA = (SERVICE_NAME = abcd) (서버 = 전용)))

그러나 웹 앱을 실행하면 위의 오류가 발생합니다. 나에겐 아무것도 할 일이 너무 일반적이다.

해결 방법에 대한 제안 사항이 있으십니까? 오라클은 어딘가에 연결 시도에 실패했다고 기록하지만 데이터베이스 alert.log 파일과 관련된 내용은 찾을 수 없습니다.

문제는 응용 프로그램이 이전 jsdk를 사용하고있을 수 있지만 "네트워크 연결"메시지 대신 일부 버전 불일치 오류가 있다고 가정합니다.

편집 : 나는 이것이 OAS 문제 또는 특정 웹 응용 프로그램에 문제가 있는지 여부를 모른다, 나는 쉽게해야합니다 보인다, 먼저 파악하고 싶습니다. WebSphere에는 추가 한 데이터 소스에 대한 "테스트 연결"버튼이 있지만 OAS10에는 이러한 기능이없는 것으로 보입니까? 여하튼 나는 그것이있을 것임에 틀림 없다라고 생각한다. 그리고 내가 OAS 전문가가 아니기 때문에 나는 그것을 놓치고있다.

편집 2 : 원격 시스템에 JDevelop를 설치하고 아무 문제없이 데이터베이스에 연결 했으므로 데이터베이스 연결 자체에 문제가없는 것으로 알고 있습니다. - OAS 내에서 문제가있는 것 같습니다. ?

답변

0

I assume that Oracle logs failed connection attempts somewhere

이는 listener.log에 표시되지만 오류가 발생하면 JDBC가 청취자와 접촉 할 수도 있습니다.

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=abcd)(SERVER=DEDICATED)))

웹 응용 프로그램과 동일한 문자열입니까?

+0

그럼 난 그 긴 문자열과 노력, 그리고 짧은 버전 같은 : JDBC : 신탁 : 얇은 : @localhost : 1521 : abcd는 에는 jdev에 모두 잘 작동, 모두가 웹과 같은 오류를 제공 앱. 나는 또한 localhost 대 IP 주소를 시도했다. 동일한 결과 - JDev에서 두 가지 모두 괜찮 았으며 두 가지 모두 앱에서 오류가 발생합니다. 관리 인터페이스에서 "테스트 연결"버튼 *을 사용하지 않고 OAS를 구축했다고 믿기가 어려워서 머리카락을 내고 있습니다. – Noah

+0

listener.log에서 아무 것도 얻었습니까? – Thilo

+1

내가 오랫동안 점검하길 원했던 이유는 연결이 청취자에 의해 어떻게 든 거절되었는지를 확인하는 것이 었습니다 (로컬 연결 이니까 상상할 수는 없지만). – Noah

2

기본 구성으로 실행 중일 때 Oracle XE와 비슷한 문제 (클라이언트는 사용할 수 있지만 웹 응용 프로그램은 연결할 수 없음)가 발생했습니다. 세션 및 프로세스의 수를 늘리면 내 문제가 해결되었습니다. 이 http://www.markcallen.com/oracle/oracle-xe-tuning을 확인하십시오.

+1

+1 나는 그 일을 또한 겪었습니다. 문제는 한꺼번에 많은 연결을 원하는 연결 풀을 사용할 때인 것처럼 보입니다. Windows에 있습니까? – Thilo

+0

흠, 좋은 제안 이었지만 숫자를 보면 링크 된 샘플보다 훨씬 높은 것으로 보입니다. 예, Windows 2003에서. – Noah

+0

SQL> 매개 변수 세션 표시 이름 유형 값 -------------------------------- 정수 ---- ----------- ---------- java_max_sessionspace_size 정수 0 java_soft_sessionspace_limit 정수 0 LICENSE_MAX_SESSIONS 정수 0 license_sessions_warning 정수 0 logmnr_max_persistent_sessions 정수 1 개 세션 445 shared_server_sessions integer – Noah

0

나는 더 명확한 호스트 이름을 사용하거나 처리 할 때 멀리 이동하는 로컬 호스트와 127.0.0.1에 문제가 했어 [IE 다른 기계로 호스트를 알고있는 것이 이름을.]. 이름이 어떻게 해석되었는지 (예 : 로컬로 또는 이름 서버 또는 그와 비슷한 것으로)와 관련이 있다고 생각합니다.

아니 자바 사람, 그러나 응답 거기에 있는지 여부를 확인 자바에서 간단하게 핑 로컬 호스트/127.0.0.1하고 어떤 방법이있다.

+0

음, 분명히 도움이되는지 확인하려고합니다. 그렇게 간단한 해결책이라면, 나는 바보 같지만 문제가 해결되도록 기쁘게 생각합니다. – Noah

0

문제를 해결하는 방법 중 하나는 WAS 서버의 호스트 파일을 아래 표시된 DB 서버 항목으로 업데이트하는 것입니다. 111.222.333.444 serverab.abc.co.kr에서 serverab