SMART SPACE

ハイブラウ&ハイセンス

過去の投稿日別表示

[ リスト | 詳細 ]

全1ページ

[1]

データベースに接続できない
下記環境で、Javaを勉強しています。
教材 :やさしいJava 活用編 第3版 Lesson8 Sample1
実行環境:jdk1.7.0_01
Tomcat 7.0
IE8.0
データベースはJava付属のJavaDBを使用

以下のコードを打ち込みコンパイルと実行をしたところ
-----------------------------------------------------------------------------------
import java.sql.*; //P242

public class k0821
{
public static void main(String[] args)
{
try
{
//接続の準備
String url = "jdbc:derby:cardb;create=true";
String usr = "";
String pw = "";

//データベースへの接続
Connection cn = DriverManager.getConnection(url, usr, pw);

//問い合わせの準備
DatabaseMetaData dm = cn.getMetaData();
ResultSet tb = dm.getTables(null, null, "車表", null);

Statement st = cn.createStatement();

String qry1 = "CREATE TABLE 車表(番号 int, 名前 varchar(50))";
String[] qry2 = {
"INSERT INTO 車表 VALUES (2, '乗用車')",
"INSERT INTO 車表 VALUES (3, 'オープンカー')",
"INSERT INTO 車表 VALUES (4, 'トラック')"};
String qry3 = "SELECT * FROM 車表";

if(!tb.next())
{
st.executeUpdate(qry1);
for(int i=0; i<qry2.length; i++)
{
st.executeUpdate(qry2[i]);
}
}

//問い合わせ
ResultSet rs = st.executeQuery(qry3);

//データの取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
while(rs.next())
{
for(int i=1; i<=cnum; i++)
{
System.out.print(rm.getColumnName(i) + ":" + rs.getObject(i) + " ");
}
System.out.print("");
}

//接続のクローズ
rs.close();
st.close();
cn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
-----------------------------------------------------------------------------------
コマンドプロンプト上に以下の表示が出ました。

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.
補足
つづきは
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=138...
です。
  • 質問日時:
    2012/3/13 11:29:32
  • 残り時間:
    7日間
  • 補足日時:
    2012/3/13 11:40:53
  • 回答数:
    1
  • お礼:
    知恵コイン
    50枚
    閲覧数:
    20

    回答

    (1件中1〜1件)
     
    tumura999さん
    そのエラーメッセージを見る限り、jdbcドライバーが見つかっていませんね。
    derby用のjdbcドライバ(jarファイル)をjavaのclasspassに追加する必要があります。
    一番簡単なやり方は、javaインストール先のjreフォルダの下のlib/extフォルダに、
    derby.jarとderbytools.jarとderbytools.jarをコピーして置いておく、というのがあります。
     
     
     
     
     
     
     
    データベースに接続できない(つづき)
    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
     
     
     
     
     
    tumura999さん
    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も必要だったと記憶しています。

    にコピーして置きました。

全1ページ

[1]


.

過去の記事一覧

diogenes
diogenes
男性 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト『さとふる』
11/30まで5周年記念キャンペーン中!
Amazonギフト券1000円分当たる!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事