11G (ODBC5.jar)의 OCI 드라이버가 10G 클라이언트와 함께 작동 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1360840

문제

Java 응용 프로그램에서 Oracle9,10 및 11에 연결해야합니다. 클라이언트는 항상 앱이 실행되는 위치에 있고 앱이 사용자 이름, 비밀번호 및 인스턴스 (tnsnames.ora에 지정 됨)로 작동하기를 원합니다. 연결 문자열이있는 OCI 드라이버를 원합니다. 10G 클라이언트가 있고 JDK1.5를 사용하고 있습니다. 클라이언트 lib 경로에서 OJDBC14 JAR을 사용하면 앱이 실행됩니다.

그러나 OJDBC5 드라이버를 사용하면 앱은 스레드 "Main"java.lang.unsatisfiedlinkerror : NO OCIJDBC11에서 예외로 실패합니다. Library.path 예외.

IM을 찾고있는 것은 단일 항아리 (OJDBC5/OJDBC14)와 OCI 드라이버를 사용하여 로컬 머신 (9/10/11)에있는 클라이언트에 연결하는 단일 드라이버를 포장하는 방법입니다. 그것을 선호합니다.

이것이 불가능한 경우 Oracle 버전의 Unix Box를 검색하고 올바른 JAR을 집어 들고 JAR 형식의 앱을 호출 할 때 ClassPath에서 사용할 수 있습니까?

고마워요

도움이 되었습니까?

해결책

java.lang.unsatisfiedlinkerror : java.library.path의 ocijdbc11 없음

이것은 Java 라이브러리 경로에 DLL (OCIJDBC11.dll)이 없음을 의미합니다. DLL이 있는지 확인하고 다음과 같이 프로그램을 시작하십시오.

java -Djava.library.path=C:\mydirwiththedll com.mypackage.MyProgram

다른 팁

OJDBC5.jar는 jdk1.5.x와 함께 작동하도록 의도 된 것입니다. Oracle 10 또는 11g에 연결하는 것은 중요하지 않아야합니다. OJDBC14.JAR은 JDK1.4.x 용 의도였습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top