2015-01-08 1 views
1

나는 누군가로부터 VM (리눅스 OS)을 물려 받았다. 그것은 Tomcat과 oracle 11.2.0 데이터베이스 내부에 전개/실행되는 자바 애플리케이션 "bob"을 가지고 있습니다. 나는 beanshell (자바의 가벼운)에 간단한 DB 연결을 썼다. 다음 예제와 같이 잘 실행되었지만 질문이 내 마음에 들었다.jar 파일을 사용하는 오라클 씬 드라이버?

Connection con = DriverManager.getConnection("jdbc:oracle:thin:hostname:1521:sidname","username","password"); 

나는 ojdbc14.jar를 찾을 것으로 나타났습니다 /somepath/tomcat/webapps/bob/WEB-INF/lib/ojdbc14.jar 및 Oracle 설치 /somepath/oracle/product/11.2.0/xe/jdbc에서 /lib/{ojdbc5.jar,ojdbc6_g.jar,ojdbc6.jar 세 개의 ojdbc jar 파일이 있습니다.

이 경우 어떤 thin 드라이버가 데이터베이스 연결을 만들고 SQL 쿼리 문을 성공적으로 실행하기 위해 사용되는 jar 파일입니까?

답변

4

ojdbc14.jarjdbc5.jar을 제거해야합니다. 첫 번째 것은 Java 용이고 1.4이고 두 번째 것은 Java 용 용입니다 (지원되지 않는 오래된 Java 버전을 실제로 사용하지 않는 경우).

Java7을 사용하는 경우 ojdbc7.jar을 사용해야합니다. 여전히 (지원되지 않는) Java 6을 사용하는 경우 ojdbc6.jar을 사용해야합니다.

파일 이름의 숫자는 드라이버 버전이 아니라 Java 버전만을 나타냅니다.

톰캣로드에서 클래스 중 하나 $CATALINA_HOME/lib, $CATALINA_HOME/lib/ext 또는 WEB-INF/lib 디렉토리에 배포 된 webbaps 중 하나 : 당신이 MANIFEST.MF 보거나 톰캣에서 클래스 로딩에 관한 DatabaseMetaData.getDriverVersion()

를 사용할 필요가 있음을 얻으려면 .

귀하의 경우, 구식이며 구식 인 /somepath/tomcat/webapps/bob/WEB-INF/lib/ojdbc14.jar이 사용되고 있습니다.

최신 버전으로 교체해야합니다.

+0

나는 본다. 내 질문에 답해 주셔서 감사합니다. Java 6을 사용하므로 ojdbc14.jar을 ojdbc6.jar로 대체합니다. 축복받은 날이왔다! – DaeYoung

관련 문제