2010-07-14 5 views
3

오라클 11g에서 데이터를 가져오고 내보내는 작은 Java 프로그램을 실행하는 일부 데이터베이스 가져 오기 및 내보내기 ant 스크립트가 있습니다.Java 클래스 (ocijdbc11.dll)에서 Oracle 데이터베이스에 연결하는 데 문제가 있습니다.

Vista 32 비트에서 작동하지만 Windows 7 64 비트에서 작동하지 않는 스크립트. ocijdbc11.dll에는 두 가지 버전이 있습니다.

64 비트 버전을 사용할 때 오류 메시지는 다음과 같습니다. java.lang.UnsatisfiedLinkError : C : \ tools \ oracle \ ocijdbc11.dll : IA 32 비트 플랫폼에서 AMD 64 비트 .dll을로드 할 수 없습니다. .

32 비트 버전을 사용할 때 오류 메시지는 다음과 같습니다. java.lang.UnsatisfiedLinkError : C : \ tools \ oracle \ ocijdbc11.dll : % 1은 (는) 올바른 Win32 응용 프로그램이 아닙니다.

이 문제를 해결하기 위해 내가 무엇을 변경해야하는지 아는 사람이 있습니까?

답변

5

죄송합니다. 저는 Windows 전문가가 아니지만 Windows Java에서 11g를 사용하지만 oci 드라이버는 사용하지 않지만 씬 드라이버가 포함 된 ojdbc14.jar를 사용합니다. 이 드라이버는 내가 아는 것처럼 원시 DLL이 필요하지 않습니다.

jar 파일의 11은 Oracle 서버 버전이 아니라 함께 사용할 JDK 버전입니다. 따라서 ocijdbc11은 JDK 1.1 호환 드라이버입니다. ojdbc14.jar, ojdbc5.jar 또는 ojdbc6.jar (ojdbc14.jar은 Java 6에서도 작동하지만 ojdbc6.jar는 Java 1.4에서 작동하지 않음)를 사용해야합니다.

+1

정확하게 유형 2에서 유형 4 드라이버로 전환하면 문제를 해결할 수 있다고 생각합니다. – mezmo

관련 문제