- ベストアンサー
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 というエラーです。 詳しい方、どうかご教授よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SqlTest.classにクラスパスが張られていないからです。 そのクラスがあるフォルダーにクラスパスを張ってください。
その他の回答 (1)
- raiden0816
- ベストアンサー率0% (0/3)
> 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ファイルでは実行できない。 念のため聞くが、コンパイルはしているか? コンパイルは正常に終了したのか? クラスファイルはどこに配置している? いろいろ問題はありそう・・・ いちど参考書を見てもう一度学習してみたほうがいい。
お礼
はじめまして。お忙しい中、回答くださってありがとうございました! パッケージに含まれていないクラスも、クラスパスが必要だったのですね。 ありがとうごじあました!
お礼
的確なアドバイスをありがとうございました! ネットで丸一日ほど調べたのですが分からず、 dora7075さんの2行で救われました。 色々調べた説明には、パッケージのクラスパスを通せとあり、 私はまだパッケージを利用したことが無かったので良くわかりませんでした。 フォルダーと書いて下さったことで、やっと出来ました。 C:\java > set CLASSPATH = D:\oracle\ora92\jdbc\lib\classes12.zip ; C:\java で、出来ました!ありがとうございました!!!