2009-08-24 30 views
3

私はOracle 11gを使用しています。私はJava 1.6でOracleデータベースを接続するコードを書くが、私はそれに接続することはできません。以下のガイドラインを設定する場合:JDBCシンOracle 11g

を私はojdbc6.jarorai18n.jar、およびclass12.jar を持っている私が設定:

CLASS_PATH:その後

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

を私はサンプルJavaコードを実行して、Oracleデータベースに接続しますが、私は以下のこのエラーに遭遇しました:

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 

誰でも私を解決することができますか?彼の問題?

おかげで、 Sopolin

答えて

1

は、私はすべてのjarが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を混在させているのだろうかと思います。私はあなたがどこにいるのかわかりませんが、class12.jarとojdbc6.jarの両方を持つべきではありません。最初のバージョンはJDK 1.2の古いバージョンです。削除する必要があります。 JDK 6に対してコンパイルする場合は、ojdbc6.jarを使用します。

また、静的型にはJava固有のクラスではなくjava.sqlインターフェイスを使用してコードを汎用的に保つことをお勧めします。これはサンプルにすぎませんが、実際のアプリケーションではそのことを念頭に置いておきたいと考えています。

+0

私はあなたに教えていることを理解していますが、私はそれを設定するためのガイドが必要です。私はこれについて何も経験がないので。ありがとう – Sopolin