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

締切り済みの質問

JAVAでderbyに接続できない

java+eclipseでデータベースの勉強をしているのですが
derbyの接続が上手くできません。
オラクル接続はできたのですが、今オラクルが使えない環境なので、derbyに接続したいのです。テーブルなどはプラグインで作成できているので、インストールは上手くできていると思います。接続用クラスと分けて作っているのですが、
呼び出す別クラスのsmt = con.createStatement();でエラーがでています。java.lang.NullPointerException
組み込み用ドライバで行っています。
接続用メソッドにしているサンプルはどこかにないでしょうか?探しているのですが。。基本的にオラクルとさほど
変更しなくても接続できるはずなのですが。。。
教えて下さい。お願いします。。

投稿日時 - 2009-06-07 20:11:02

QNo.5025019

すぐに回答ほしいです

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

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

回答(2)

ANo.2

こんにちは、

derby使うなら、ideにnetbeansを使っては、
プログラミングで、操作も出来ますが。
サービスで、derbyの起動、sqlの実行が容易に出来るし、
テーブルの作成も容易だし接続設定も容易ですよ。
データベースファイルも作るのが簡単です。

http://www.netbeans.org/kb/docs/ide/java-db_ja.html

ちなみに、MySQLでも、接続は同様に容易ですし、
SQLサーバーでも、同様な操作で、利用できます。

プログラミングは、こちらを憶えてから、
やると、楽かも!!!!!!!!

投稿日時 - 2009-06-08 19:11:45

補足

ありがとうございます。使うかもしれません。
javaで接続ができないんです~。
なんでだー。orz

投稿日時 - 2009-06-08 19:41:34

ANo.1

smt = con.createStatement(); でNullPointerExceptionということはConnectionオブジェクトが生成されていないと思います。
サンプルサイトは見つかりませんでしたが、以下の手順で組み込みではなく通常のやり方でDB作成およびプログラムを組んでみて下さい。

1. ijを起動して
ij> connect 'jdbc:derby://localhost/[データベース名];create=true';
と入力してDBを作成。

2. JDBCドライバにClientDriverを使用するので、
Class.forName("org.apache.derby.jdbc.ClientDriver");
に変更します。

3. Connectionオブジェクトを取得するコード(例)を以下のように記述します。

----------
public Connection getConnection()
throws ClassNotFoundException, SQLException {

String url = "jdbc:derby://localhost/[データベース名]";
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection conn = DriverManager.getConnection(url);

return conn;
}
----------

これでConnectionオブジェクトが取得できると思います。

ちなみに私もEmbeddedDriverを使って試してみたのですが、SQLExceptionが出てうまくいきませんでした。

投稿日時 - 2009-06-07 22:09:35

補足

コメントありがとうございます。
1. ijを起動して
ij> connect 'jdbc:derby://localhost/[データベース名];create=true';と入力してDBを作成。
まずここで Connection refused: connect でエラーとでます。。
通常のconnect 'jdbc:derby:Sampleなどとすると作成されます。

えーderby難しいのかな~。Mysqlのほうがいいのかなー??
EmbeddedDriverならDBviewwerだと上手くいって追加更新削除もできて
べんりなのですが、JAVAの接続ができない・・・

投稿日時 - 2009-06-07 23:35:41

あなたにオススメの質問