S-JIS[2009-02-22/2009-12-25]
Pleiades All in One
Eclipse3.4の場合、EclipseからDBアクセスできるプラグラインが入っている。
これを使って、JDK1.6で導入されたJavaDBにアクセスすることが出来る。
JavaDBを組み込み環境で扱う場合、DBViewerは不便(設定変更時にEclipse自体の再起動が必要な場合がある)なので、データソース・エクスプローラーの方が良さそう。
でも操作感としてはDBViewerの方がシンプルでいい感じなので、JavaDBサーバーで使うのがいいかなぁ…。
まずは、DBViewerパースペクティブを開く。
DBViewerパースペクティブから、接続したいJavaDBの登録を行う。
接続情報 | 設定値(例) | 備考 |
---|---|---|
JDBC Driver(J) | org.apache.derby.jdbc.EmbeddedDriver |
|
JDBCタイプ(D) | Type4 |
|
接続文字列(S) | jdbc:derby:C:\temp\javadb\sample1;create=false |
create=trueにすると、新規にDBを作成できる。 |
接続ユーザ(U) 接続パスワード(P) 接続スキーマ(E) |
DBにユーザーやパスワードが設定されている場合に指定する。 スキーマを省略すると「APP」になる。 |
ij.bat
等)から接続しているせいかも。DBツリー・ビュー内の接続名を右クリックして「編集(E)」を選べば、上記の設定を変更することが出来る。
DBツリー・ビュー内の接続名をダブルクリックするか、右クリックして「接続(C)」を選べば、そのDBに接続することが出来る。
スキーマやテーブル・ビューをクリックすれば、テーブルを開いて中を参照したり出来る。
接続名を右クリックして「切断(L)」を選ぶと、接続を終了する。
ただし、接続内容を編集(derby.jarの場所を変えたりドライバーのクラスを変更したり)した場合、先に切断していても、同じDBに再接続することが出来ない。[2009-04-23]
(Eclipse(DBViewer)がJavaDBのファイルを掴んでしまっているようで、一旦Eclipseを終了させないと、再度そのDBに接続することが出来ない!
こうなると他のツールからもそのDBへ接続できなくなるので、非常に不便。
組み込み環境でなく、クライアント/サーバー環境(JavaDBサーバーを起動する方式)を使う方がいいかも)
→クラスローダーを使ってDriverを直接インスタンス化してDB接続する方法のJavaDBでの問題点
(DBViewerがこの方法を使っているのかどうかは分からないけど、現象は全く同じ)
※このツールでは、ドライバーの設定を変更した際のDBのシャットダウンが上手く行われていないということなのだろう。[2009-12-25]
切断すると「シャットダウンされました」って表示されるから、ドライバーの変更さえ行わなければきちんと動作するのだが。
(試しに「jdbc:derby:;shutdown=true」という接続を作って実行してみると、メッセージからはきちんとシャットダウンされているようだが、再接続は出来なかった)
まずは、データベース開発パースペクティブを開く。
パースペクティブ内で「データ・ソース・エクスプローラー」が開く。
「データソース・エクスプローラー」から、接続したいJavaDBの登録を行う。
設定名 | 例 |
---|---|
接続プロファイル・タイプ(C) | Derby |
名前(M) | sample1 |
設定名 | 設定内容 |
---|---|
ドライバー(D) |
|
データベース・ロケーション | C:\temp\javadb\sample1 |
ユーザー名(A) パスワード(W) |
DBにユーザーやパスワードが設定されている場合に指定する。 |
ij.bat
等)から接続しているせいかも。接続名を右クリックして「プロパティー(P)」を選ぶと、設定内容を変更することが出来る。
データソース・エクスプローラー内の接続名をダブルクリックするか、右クリックして「接続(C)」を選べば、そのDBに接続することが出来る。
スキーマ・テーブル内のテーブル名を右クリックして「データ(A)」→「編集(D)」を選ぶと、データを参照したり更新したりすることが出来る。
接続名を右クリックして「切断(D)」を選ぶと、接続を終了する。
(DBViewerと違って、ちゃんと切断される)