- - PR -
Oracle JDBC Driver
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-09-17 04:09
いろいろと試してみて、クラスパスを通すといくつか変化が出てきているのですが、わからない点があり、どなたか、ご存知の方がいればご教示いただきたく。
forName("oracle.jdbc.odbc.OracleDriver")のところで、クラスパスを設定しなければNoSuitableDriverという例外が出るのは自明のことですが、クラスパスでclasses12.zipを通すと、NoClassDefFoundErrorが出てきてしまいます。これは今回クラスパスを変更しているゆえに発生しているのはわかるのですが、jdbcドライバーのクラスのパスも通さなければならず、ご教示いただきたく、よろしくお願いします。 | ||||
|
投稿日時: 2003-09-17 09:51
JDBCドライバーが見つからない場合は、ClassNotFoundExceptionが発生します。 NoSuitableDriverはJDBCドライバの使用方法間違っていたりすると発生します。 例えば、ドライバがTYPE2なのに、 ミドルなしでネットワーク経由で接続したりすると発生したりします。 オラクルの場合、確かオラクルクライアントが入っていないと、 TYPE2が使えなかったと思ったので、 オラクルクライアントなしで、TYPE2を使えば発生するかもしれません。 NoClassDefFoundErrorもクラスが見つからないことに変わりは無いのですが、 これはコンパイル時はあったものが、実行時にないから発生しているので、 ちょっと違います。 JDBCドライバのファイルは、 class12.zipにクラスパスを通さなくても認識しているようですが、 既にどこかでクラスパスが設定されていませんか? 例えば、JAVA_HOME/jar/lib/ext以下に、 JDBCドライバのファイルが置かれているとかはないですかね。 | ||||
|
投稿日時: 2003-09-18 04:02
takuさん、いろいろとアドバイスありがとうございました。何とかDBにアクセスすることができるようになりました。最後の決め手は「NoClassDefFoundErrorもクラスが見つからないことに変わりは無いのですが、 これはコンパイル時はあったものが、実行時にないから発生しているので、 ちょっと違います。 」でした。これで非常に疑問をもち、クラスパスをいくつか設定していたのですが、シンプルにclasses12.zipのみを通すことで、干渉等がまったく発生しないようにしたら、うまく動作しました。でも、とても疑問ですが、なぜ、一番最初に行ったときに動かずに今、うごいているのでしょう・・・。何かまちがって設定していたのだと思いますが、何をやっているのか、自分が少し情けないです。ただ、いろいろとアドバイスいただけたこと、本当に感謝しています。本当にありがとうございました。
| ||||
