• ベストアンサー

JavaからOracleを呼ぶ。(JDBCドライバの利用方法)

色々調べましたが分からないので質問させてください。よろしくお願いします。 JavaからOracleを使いたくて、JDBCドライバのことを調べています。 Oracle(のClient)がインストールされた私のパソコン ↓ D:\oracle\ora92\jdbc\lib\classes12.zip\oracle\jdbc\driver\OracleDriver.class まず、コマンドプロンプトにてクラスパスを通しました。 C:\java > set CLASSPATH = D:\oracle\ora92\jdbc\lib\classes12.zip (↑CのjavaフォルダにSqlTest.javaを作成しています。) コンパイルは成功しましたが、実行はできません(;_;) java.lang.ClassNoClassDefFoundError: SqlTest というエラーです。 詳しい方、どうかご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dora7075
  • ベストアンサー率39% (103/261)
回答No.1

SqlTest.classにクラスパスが張られていないからです。 そのクラスがあるフォルダーにクラスパスを張ってください。

Novi21
質問者

お礼

的確なアドバイスをありがとうございました! ネットで丸一日ほど調べたのですが分からず、 dora7075さんの2行で救われました。 色々調べた説明には、パッケージのクラスパスを通せとあり、 私はまだパッケージを利用したことが無かったので良くわかりませんでした。 フォルダーと書いて下さったことで、やっと出来ました。 C:\java > set CLASSPATH = D:\oracle\ora92\jdbc\lib\classes12.zip ; C:\java で、出来ました!ありがとうございました!!!

その他の回答 (1)

回答No.2

> D:\oracle\ora92\jdbc\lib\classes12.zip\oracle\jdbc\driver\OracleDriver.class これはどういう意味なのだろう? classes12.zipというディレクトリにclasses12.zipを展開したということかな? こういう場合はわざわざ展開しなくてもclasses12.zipをクラスパスに含めれば通るはず。 その際はjarに拡張子を変更することが最近の風潮みたいだ。 で、肝心の部分だが、そもそもSqlTestのパッケージはどうなっているのだろう? デフォルトパッケージであるならば、C:/javaディレクトリをクラスパスに含めれば解決するが、 何らかのパッケージに含まれるのであればディレクトリをつくりSqlTestを格納しトップディレクトリにクラスパスを通す必要がある。 で、ここで問題なのだが、 >↑CのjavaフォルダにSqlTest.javaを作成しています。 javaファイルを配置するしたと書いているが、javaファイルでは実行できない。 念のため聞くが、コンパイルはしているか? コンパイルは正常に終了したのか? クラスファイルはどこに配置している? いろいろ問題はありそう・・・ いちど参考書を見てもう一度学習してみたほうがいい。

Novi21
質問者

お礼

はじめまして。お忙しい中、回答くださってありがとうございました! パッケージに含まれていないクラスも、クラスパスが必要だったのですね。 ありがとうごじあました!

関連するQ&A