データベースに接続できない(つづき)
2012/3/1315:04:25
データベースに接続できない(つづき)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=128...
の続きです
コマンドプロンプト上に以下の表示が出ました。
C:\Program Files\Apache Software Foundation\Tomcat 7.0ses>java k0821
java.sql.SQLException: No suitable driver found for jd
at java.sql.DriverManager.getConnection(Driver
at java.sql.DriverManager.getConnection(Driver
at k0821.main(k0821.java:16)
-- Press any key to exit (Input "c" to continue) --
-----------------------------------------------------------------------------------
この後どうして解決したらいいかがわかりません。
ここまでにP470記載の指示のとおり CLASSPATH を
C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar;
C:\Program Files\Java\jdk1.7.0_01\lib\derby.jar;.
に通し、Tomcat で共通して使うファイルを、
Tomcat をインストールしたディレクトリの下の lib フォルダに配置せよ とあったので、
C:\Program Files\Java\jdk1.7.0_01\db\lib
の中の derby.jar を
C:\Program Files\Apache Software Foundation\Tomcat 7.0\lib
にコピーして置きました。
補足全てがコピーできてなかったので、書き直します
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\JSP7\WEB-INF\clas
ses>java k0821
java.sql.SQLException: No suitable driver found for jdbc:derby:cardb;create=true
at java.sql.DriverManager.getConnection(DriverManager.java:604)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at k0821.main(k0821.java:16)
ベストアンサーに選ばれた回答
チョコレートバーさん
編集あり2012/3/1409:07:46
Javaで実行するのですから、tomcatのlibパスに入れても意味がありません。
実行するjavaのlibパスにコピーする必要があります。
具体的には、上記でしたら
C:\Program Files\Java\jre7\lib\ext
の下に、
C:\Program Files\Java\jdk1.7.0_01\db\lib
の下の全てのjarファイルをコピーしてください。
derbyの実行にはderby.jarだけでなく、derbytools.jarも必要だったと記憶しています。
補足を受けて:
初心者なのはわかりますが、エラーメッセージを読み取る努力はしましょう。
今回のエラーは
>java.sql.SQLException: No suitable driver found for jdbc:derby:cardb;create=true
というエラーで
エラーが発生したのはプログラムの
at k0821.main(k0821.java:16)
つまり16行目、エラーが発生したメソッドは
at java.sql.DriverManager.getConnection(DriverManager.java:604)
つまりgetConnectionです。
ようするに、何度も書いているとおり、jdbcドライバが読めなかった、というエラーです。
そして、jdbcドライバとしてderbyを使用する場合、必要なライブラリ(jarファイル)は上述のとおり1つではなく、
derby.jar以外にderbytools.jarとかderbynet.jarなどのライブラリも必要なはずです。
これらをclasspath指定できていないなら、classpathの通っている場所にコピーする必要がありますが、
実行しているのはtomcatからではなく、java.exeからですから、tomcatのlibパスにコピーしても意味がありません。
実行するjava.exeのlibパスにjarファイルを配置する必要があります。
実行するjava.exeは、通常jdk下のjava.exeではなく、jre下のjava.exeです。
そのため、jreのlibパスにjarファイルを配置する必要がありますが、通常はlib/extの下に配置します。
ですから、
C:\Program Files\Java\jre7\lib\ext
にjarファイルを配置することになります。
質問した人からのコメント
2012/3/20 23:22:32
最初の質問ページは
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=128... です。
ありがとうございました
まだうまくいってません
他にアドバイスのある方は下記までお願いします
http://blogs.yahoo.co.jp/uuatanabetakahiko/29523158.html
このカテゴリの回答受付中の質問
- EclipseでWebContent直下にあるjspファイルにsrcフォルダ直下にあるjavaファイル...
- Websphere Application Server上でwarファイルのデプロイテストを行っております...
- ssl通信を以下のURLのプログラムを参考に書き、動作も正常ですが、なぜ証明書検証...
- javaのプログラム(eclipseを使用しています) で画像を選択した範囲で円形に表示さ...
- AndroidStudioでエラーが出ていて、どこも「setText」の所が赤くなっています。こ...
- 制御ボタンを押せる画面があります。 この画面とは別に画面の作りは全く同じで制...
- メソッド「JavaScript 」を宣言して番号の横に2のn乗の実数値が小さい順になるよ...
- [Bank. java] 1:public class Bank{ 2: private int money; 3: public void...
このカテゴリの投票受付中の質問
- Javaのプログラムでメール送信において、CC指定から可能するプログラムを教えてく...
- 大学の実習でEclipseを使っているのですがすべての人のためのJavaプログラミング...
- JAVAの質問です 二重ループを使って 1.2.3.4.5 3.4.5.6.7 5.6.7.8.9 と表示させ...
- インスタンスとコンストラクタの関係って何ですか?
- プログラミングに強いお方、お願いします! 至急です!教えてください! Q. Max3...
- javaのプログラミングについて質問です。 for文で引数を指定してその分だけ、1...
- 現在、MySQLとJavaでプログラムを作っているのですが、MySQLからIDを絞込み、その...
- プログラミング得意な方に質問です。 java 左下が直角になる三角形を表示するプ...
- 学校の課題でノベルゲームをJAVAで作りたいのです、ボタンを押したら次の画面に移...
- EclipseでJavaコードをコンパイルしたいのですがエラーが出てしまいます。 プ...
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
お客様自身の責任と判断で、ご利用ください。
[PR]お得情報
