2

Oracle 11.2 と Java をインストールしました。

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

コマンドラインで、私がしようとすると:

java oracle.jdbc.driver.OracleDriver

Java によると: oracle.jdbc.driver.OracleDriver をロードまたは検索できません

をコピーしましたojdbc5.jarojdbc6.jarojdbc6_g.jar

からoraclexe\app\oracle\product\11.2.0\server\jdbc\libまで
C:\Program Files\Java\jdk1.7.0_09\lib

実行すると、次のようecho %CLASSPATH%になります。

C:\Program Files\Java\jdk1.7.0_09\lib (ie where I have copied the jar files)

Java が見つからない理由はありますoracle.jdbc.driver.OracleDriverか?

4

4 に答える 4

7

クラスパス上のフォルダーを参照し、その中のすべての jar をロードすることを期待しています。これはクラスパスの仕組みではなく、特定の jar を参照する必要があります (通常、JDK フォルダー内にサードパーティの jar を配置しないでください)。

CLASSPATHまた、最も基本的な使用例を除いて、Java アプリケーションでは通常無視されることを知っておくことも重要です。

次のことを行うことで、達成しようとすることを実行できます。

java -cp <path-to>\ojdbc7.jar oracle.jdbc.OracleDriver

OracleDriverメソッドがないpublic static void main(String[] args)ため、このように実行できないため、これは失敗します。JDBC ドライバーを使用する通常の方法は、アプリケーションのクラスパスにドライバーを配置し、正しいドライバー URL を指定するだけです。JDBC 4.0 (Java 6) 以降に準拠したドライバーは、(マニフェスト エントリなどで指定されたように) クラスパスから自動的に読み込まれ-cpますClass-Path

無関係なメモとして、oracle.jdbc.driver.OracleDriver非推奨と見なされます。oracle.jdbc.OracleDriver代わりに使用してください。 Oracle jdbc ドライバー クラスの違いを参照してください。

于 2013-07-17T13:58:56.007 に答える
1

クラスパスにディレクトリを配置しても、そのディレクトリ内のすべての jar ファイルがクラスパスに配置されるわけではありません。Oracle jar ファイルを Java インストール ディレクトリにコピーした理由は明確ではありませんが、そうしないことをお勧めしますが、場所を明示的にリストする必要があります。たとえば、libアプリケーションに関連するディレクトリにコピーした場合は、次を使用できます。

java -cp lib\ojdbc7.jar;. your.class.Name

コマンドライン引数で使用して、すべてのjarファイルを見つけることができます。*-cp

java -cp lib\*;. your.class.Name

または、「拡張機能」ディレクトリにコピーすることもできますが、明示する方が明確だと思います。

于 2013-07-17T13:53:46.280 に答える
0

私も同じ問題を抱えていましたが、これが私がしたことです。ojdbc5.jarを抽出し、抽出したojdbc5.jarにoracleフォルダーをコピーし、jdbcプログラムを書いた現在の場所に貼り付けました(プログラマーごとに異なるため、ディレクトリについては言及しません) )、次に import oracle.jdbc.*; を使用 oracle.jdbcにはOracleDriverが含まれているため、私のjdbcプログラムのステートメント。プログラムの残りの部分は同じです

于 2015-09-01T14:54:20.087 に答える
0

にコピーojdbc6.jarする前に、IDEAで「構造」->「SDK」->「クラスパスの追加」でファイル<jdk-home>/jre/lib/ext/を追加する必要がありますojdbc6.jar<jdk-home>/jre/lib/ext/ojdbc6.jar

于 2016-06-30T12:00:44.897 に答える