こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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 というエラーです。

詳しい方、どうかご教授よろしくお願いします。

投稿日時 - 2008-08-12 17:26:44

QNo.4246587

困ってます

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

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

投稿日時 - 2008-08-12 17:32:43

お礼

的確なアドバイスをありがとうございました!

ネットで丸一日ほど調べたのですが分からず、
dora7075さんの2行で救われました。

色々調べた説明には、パッケージのクラスパスを通せとあり、
私はまだパッケージを利用したことが無かったので良くわかりませんでした。
フォルダーと書いて下さったことで、やっと出来ました。

C:\java > set CLASSPATH = D:\oracle\ora92\jdbc\lib\classes12.zip ; C:\java

で、出来ました!ありがとうございました!!!

投稿日時 - 2008-08-13 10:47:16

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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ファイルでは実行できない。
念のため聞くが、コンパイルはしているか?
コンパイルは正常に終了したのか?
クラスファイルはどこに配置している?

いろいろ問題はありそう・・・

いちど参考書を見てもう一度学習してみたほうがいい。

投稿日時 - 2008-08-13 00:28:16

お礼

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

投稿日時 - 2008-08-13 16:36:38

あなたにオススメの質問