2009-08-24 6 views
3

Oracle 11g을 사용하고 있습니다. Java 1.6으로 Oracle 데이터베이스를 연결하는 코드를 작성했지만 연결할 수 없습니다. 구성 아래의 가이드 라인을 때 :JDBC Thin Oracle 11g

나는 내가 ojdbc6.jar, orai18n.jarclass12.jar 설정 :

이 CLASS_PATH : 그 후

%ORACLE_HOME%\jlib\orai18n.jar;r;%Oracle_home%\jdbc\ojdbc6.jar 

내가 샘플 자바 코드를 실행 오라클 데이터베이스에 연결하지만,

C:\Program Files\Java\jdk1.6.0_11\bin>javac c:\JDBCVersion.java 
c:\JDBCVersion.java:2: package oracle.jdbc does not exist 
import oracle.jdbc.*; 
^ 
c:\JDBCVersion.java:3: package oracle.jdbc.pool does not exist 
import oracle.jdbc.pool.OracleDataSource; 
        ^
c:\JDBCVersion.java:8: cannot find symbol 
symbol : class OracleDataSource 
location: class JDBCVersion 
OracleDataSource ods = new OracleDataSource(); 
^ 
c:\JDBCVersion.java:8: cannot find symbol 
symbol : class OracleDataSource 
location: class JDBCVersion 
OracleDataSource ods = new OracleDataSource(); 
         ^
4 errors 

사람이 나에게 t을 해결하는 데 도움이 수

: 나는 아래이 오류를 만났다 그의 문제?

감사합니다, Sopolin

답변

1

난 당신이 모든 병이 CLASS_PATH에 있어야 여기

Class_Path: %ORACLE_HOME%\jlib\orai18n.jar;%ORACLE_HOME%\oui\jlib\classes12.jar 
Path: %Oracle_home%\jdbc\ojdbc6.jar 

무슨 뜻인지 모르겠어요.

PATH에 dll이있는 디렉토리가 필요합니다.

+0

이 문제를 구성하도록 안내해 주시겠습니까? 감사합니다. – Sopolin

4

Oracle JDBC 드라이버를 사용하려면 CLASSPATH에 ojdbc6.jar 또는 동등한 것이 있어야합니다. 이러한 JAR 중 하나가 운영 체제 PATH 변수에 있어야한다는 요구 사항은 없습니다.

JDBC/UCP page on the Oracle Technology Network에서 Oracle 용 JDBC 드라이버를 얻을 수 있습니다.

또한 CLASSPATH에 이미 ojdbcX.jar가있는 경우 classes12.jar 파일이 필요하지 않습니다.

11g 데이터베이스에 대해 Oracle Thin Driver for JDBC를 사용하는 경우 CLASSPATH에 ojdbc5.jar/ojdbc6.jar 및 orai18.jar가 필요합니다. OCI 드라이버에 추가 파일이 필요합니다.

+0

이 문제를 구성하도록 안내해 주시겠습니까? 감사합니다 – Sopolin

1

문제점이 JDBC 드라이버 JAR과 혼합되어 있는지 궁금합니다. 나는 당신이 당신의 것을 가지고 있는지 모르지만, 당신은 classes12.jar와 ojdbc6.jar를 가지고 있으면 안됩니다. 첫 번째 버전은 JDK 1.2의 이전 버전입니다. 그것을 제거해야합니다. JDK 6에 대해 컴파일하는 경우 ojdbc6.jar을 사용하십시오.

코드를 일반적으로 유지하기 위해 정적 유형에 대해 Oracle 특정 클래스가 아닌 java.sql 인터페이스를 사용하는 것이 좋습니다. 이것은 하나의 견본 일 뿐이지 만 실제 응용 프로그램의 경우이를 명심하고 싶을 것입니다.

+0

나는 당신이 나에게 말하는 것을 이해하지만, 나는 그것을 구성하기위한 가이드를 원한다. 왜냐하면 나는 이것에 대해 어떤 경험도하지 않기 때문이다. 감사 – Sopolin