「JavaDBにSquirrelから接続するには」の版間の差分

提供: tknotebook
移動: 案内検索
(Embedded用ドライバ)
(Client接続の場合)
 
(1人の利用者による、間の15版が非表示)
1行: 1行:
 
[[Category:コンピュータ]][[Category:Java]]
 
[[Category:コンピュータ]][[Category:Java]]
[[メインページ]]>[[コンピュータの部屋#Java]]
+
[[メインページ]]>[[コンピュータの部屋#Java]]>[[Java Tips]]
  
  
JDK 付属のデータベース JavaDB にアクセスするには Squirrel というクライアントツールが便利です。
+
JDK 付属のデータベース Derby(JavaDB) で開発を行う場合、付属のコマンドラインツール IJ では大変です。
しかし、最初はなかなか接続方法が分からず苦労します。以下はその時のメモです。
+
'''Squirrel''' というDBクライアントツールがとても便利で、Apache Derby プロジェクトでも推奨されています。
 +
 
 +
しかし、意外と癖があり、最初はなかなか接続方法が分からず苦労します。以下はその時の備忘録です。
  
 
==JDBCドライバーの設定==
 
==JDBCドライバーの設定==
17行: 19行:
 
ドライバを選んで鉛筆のアイコンを押すと、ドライバクラスの選択画面が現れます。
 
ドライバを選んで鉛筆のアイコンを押すと、ドライバクラスの選択画面が現れます。
  
===Embedded用ドライバクラスの選択===
+
===Embedded用ドライバの設定===
  
 
Embedded用ドライバクラス(アプリがDBファイルに直接アクセスするドライバ)の選択方法は以下の通りです。
 
Embedded用ドライバクラス(アプリがDBファイルに直接アクセスするドライバ)の選択方法は以下の通りです。
27行: 29行:
 
[[ファイル:Squirrel driver選択(Embedded).png]]
 
[[ファイル:Squirrel driver選択(Embedded).png]]
  
===Client用ドライバ===
+
===Client用ドライバの設定===
  
Client用ドライバ(アプリがネットワーク経由でJavaDBサーバに接続するドライバ)では、JDK の db\lib フォルダーにある derbyclient.jar
+
Client用ドライバ(アプリがネットワーク経由でJavaDBサーバに接続するドライバ)クラスの選択では、JDK の db\lib フォルダーにある derbyclient.jar
 
を「Extra Class path」に加え、ドライバーは '''org.apache.derby.jdbc.ClientDriver''' を選んでください。
 
を「Extra Class path」に加え、ドライバーは '''org.apache.derby.jdbc.ClientDriver''' を選んでください。
 +
 +
これで Derby(JavaDB)の JDBCドライバクラスの選択は完了です。
 
   
 
   
  
38行: 42行:
  
  
エイリアスとは、接続のための一連の設定に名前を付けたものです。SquirrelのAlisタブを選び、「+」ボタンを押すと新規作成でき、
+
DBの試験用クライアントにはおなじみの機能ですが、エイリアスとは、接続のための一連の設定に名前を付けたものです。
作成後は、エイリアスを一覧から選んで、鉛筆のアイコンを押すことで編集できます。
+
 
 +
SquirrelのAliasタブを選び、「+」ボタンを押すとエイリアスを新規作成でき、エイリアスを一覧に加えることができます。
 +
作成後は、エイリアスを一覧から選んで、鉛筆のアイコンを押すことで設定を編集できます。
  
  
 
===Embedded接続の場合===
 
===Embedded接続の場合===
  
Embeddedドライバで接続する場合は、エイリアスは、Alias名、使用するドライバ、JDBCのURLを入力しておけば簡単に接続できます。
+
Embeddedドライバで接続するアイリアスを作成する場合は、エイリアスは、Alias名、使用するドライバ(Apache Derby Embedded)、
 +
JDBCのURLを入力しておけば簡単に接続できます。
  
[[ファイル:Squirrel aliasの設定 embedded.png]]
+
図のように jdbc の url は 'jdbc:derby:<データベースのフォルダのパス>;create=true' というように、
 +
jdbc:derby: の後にデータベースのフォルダのパスを記述します。
  
 +
 +
[[ファイル:Squirrel aliasの設定 embedded.png]]
  
 
===Client接続の場合===
 
===Client接続の場合===
54行: 64行:
  
 
設定にエイリアス名、ドライバー(derby client)と JDBC URL が必要なのは同じですが
 
設定にエイリアス名、ドライバー(derby client)と JDBC URL が必要なのは同じですが
スキーマ(User) とパスワードの指定が必須です。どちらも 'APP' でよいでしょう。
+
当然ながら 図のように URL の中にホスト名とポート番号を含めます。
 +
 
 +
jdbc:derby://<ホスト名>:<ポート番号>/<サーバ上でのデータベースのフォルダのパス>;create=true
 +
 
 +
という形式です。
 +
 
 +
また、何故か接続時にスキーマ(User) とパスワードの指定が必須であることに注意してください。
 +
どちらも 'APP' でよいでしょう。
 
Derbyの既定のスキーマはAPPだからです。パスワードは何でもよいようです。
 
Derbyの既定のスキーマはAPPだからです。パスワードは何でもよいようです。
  
スキーマ(User) やパスワードを空にすると何故かつながりません。Auto login を利用すると毎回入力しなくとも、
+
既定ではこういう緩い設定でよいようです。JavaDBではいろいろセキュリティをたかめる設定もあるようです。
 +
 
 +
Auto login を利用すると接続を行う毎にユーザ名、パスワードを入力しなくとも、
 
エイリアスに設定したユーザ名、パスワードが自動的に使用されますので便利です。
 
エイリアスに設定したユーザ名、パスワードが自動的に使用されますので便利です。
  
Client接続を試験するときは、サーバの起動(JDKのdb\binフォルダのstartNetworkServerスクリプト)を忘れないでください。
+
Client接続を試験するときは、サーバの起動(JDKのdb\binフォルダのstartNetworkServerスクリプトで起動)を忘れないでください。
  
 
[[ファイル:Squirrel aliasの設定 client.png]]
 
[[ファイル:Squirrel aliasの設定 client.png]]

2016年11月14日 (月) 01:59時点における最新版

メインページ>コンピュータの部屋#Java>Java Tips


JDK 付属のデータベース Derby(JavaDB) で開発を行う場合、付属のコマンドラインツール IJ では大変です。 Squirrel というDBクライアントツールがとても便利で、Apache Derby プロジェクトでも推奨されています。

しかし、意外と癖があり、最初はなかなか接続方法が分からず苦労します。以下はその時の備忘録です。

JDBCドライバーの設定

Squirrel には Driver 画面というものが有り、最初は下図のように Derby(JavaDB) のドライバは 赤いバッテンが付いていて使えない状態になっています。


Squirrel Driver画面.png


ドライバを選んで鉛筆のアイコンを押すと、ドライバクラスの選択画面が現れます。

Embedded用ドライバの設定

Embedded用ドライバクラス(アプリがDBファイルに直接アクセスするドライバ)の選択方法は以下の通りです。

  1. 下図のドライバ選択画面で、「Extra Class path」タブを選び、「Add」ボタンを押して、 JDK の db\lib フォルダーにある derby.jar を一覧に加えます。
  2. 「List Drivers」ボタンを押すと「class Name」コンボでドライバを選べるようになるので、 org.apache.derby.jdbc.EmbeddedDriver を選びます。
  3. OKボタンを押せば設定終了です。

Squirrel driver選択(Embedded).png

Client用ドライバの設定

Client用ドライバ(アプリがネットワーク経由でJavaDBサーバに接続するドライバ)クラスの選択では、JDK の db\lib フォルダーにある derbyclient.jar を「Extra Class path」に加え、ドライバーは org.apache.derby.jdbc.ClientDriver を選んでください。

これで Derby(JavaDB)の JDBCドライバクラスの選択は完了です。


Squirrel driver選択2(Client).png

エイリアスの作成

DBの試験用クライアントにはおなじみの機能ですが、エイリアスとは、接続のための一連の設定に名前を付けたものです。

SquirrelのAliasタブを選び、「+」ボタンを押すとエイリアスを新規作成でき、エイリアスを一覧に加えることができます。 作成後は、エイリアスを一覧から選んで、鉛筆のアイコンを押すことで設定を編集できます。


Embedded接続の場合

Embeddedドライバで接続するアイリアスを作成する場合は、エイリアスは、Alias名、使用するドライバ(Apache Derby Embedded)、 JDBCのURLを入力しておけば簡単に接続できます。

図のように jdbc の url は 'jdbc:derby:<データベースのフォルダのパス>;create=true' というように、 jdbc:derby: の後にデータベースのフォルダのパスを記述します。


Squirrel aliasの設定 embedded.png

Client接続の場合

Client接続(ネットワーク経由でJavaDBサーバに接続)の場合は若干注意が必要です。

設定にエイリアス名、ドライバー(derby client)と JDBC URL が必要なのは同じですが 当然ながら 図のように URL の中にホスト名とポート番号を含めます。

jdbc:derby://<ホスト名>:<ポート番号>/<サーバ上でのデータベースのフォルダのパス>;create=true

という形式です。

また、何故か接続時にスキーマ(User) とパスワードの指定が必須であることに注意してください。 どちらも 'APP' でよいでしょう。 Derbyの既定のスキーマはAPPだからです。パスワードは何でもよいようです。

既定ではこういう緩い設定でよいようです。JavaDBではいろいろセキュリティをたかめる設定もあるようです。

Auto login を利用すると接続を行う毎にユーザ名、パスワードを入力しなくとも、 エイリアスに設定したユーザ名、パスワードが自動的に使用されますので便利です。

Client接続を試験するときは、サーバの起動(JDKのdb\binフォルダのstartNetworkServerスクリプトで起動)を忘れないでください。

Squirrel aliasの設定 client.png