H2 database¶
はじめに¶
H2 databaseは、JavaVM上で動作する軽量RDBMSでオープンソース、JDBC APIを使用し、組込み(同一プロセス)およびサーバーで動作します。
ライセンスは、MPL2.0(Mozilla Public License 2.0)およびEPL1.0(Eclipse Public License 1.0)のデュアルライセンスです。
2005年12月に最初のリリースがありました。主開発者のトーマス・ミュラー氏は、元Hypersoic SQLの初期開発者で、その後PointBase社に入ってPointBase Micro(商用Java SQLデータベース)の開発を手がけ、その後、H2の開発を始めました。
公式サイト: http://www.h2database.com
インストール¶
入手¶
ベータ版と最新安定板の2つのバージョンが、Windows OS向けのインストーラーと、汎用のZIPアーカイブで提供されています。
Windows OSへインストーラーでのインストール¶
2015-10-10時点での最新安定板(Version 1.3.176)のWindowsインストーラーは次のファイルです。- h2-setup-2014-04-05.exe
実行すると、UAC確認の後、インストーラーが起動し、インストール先ディレクトリ(デフォルトはC:\Program Files (x86)\H2)を設定するダイアログを表示、そこにインストールします。
実行¶
H2データベースは、次の実行モードがあります。
- 組込みモード(Embedded)
アプリケーションと同一JVM上からJDBCで開かれ動作する - サーバーモード(Server)
1つのJVM上で動作し、TCP/IP通信で接続しJDBCまたはODBC APIで開かれる - 混合モード(Mixed)
最初のアプリケーションが組み込みモードで開き、かつTCP/IPで他のプロセスからも接続可能とする
サーバーモードでの起動¶
Windowsユーザーセッション(ログオンした環境)からの起動¶
特に起動スクリプト(バッチファイル)は用意されていないので、コマンドラインで実行します。
C:> cd Program Files (x86)\H2\bin C:> java -cp h2-1.3.176.jar org.h2.tools.Server TCP server running at tcp://192.168.1.11:9092 (only local connections) PG server running at pg://192.168.1.11:5435 (only local connections) Web Console server running at http://192.168.1.11:8082 (only local connections)
Windowsサービス起動¶
サービスへの登録、起動スクリプト(バッチファイル)が用意されているので、それを使ってサービスへの登録をします。
スクリプト群は、C:\Program Files (x86)\H2\service\
の下にあります。
0_run_server_debug.bat 4_stop_service.bat wrapper.dll 1_install_service.bat 5_uninstall_service.bat wrapper.exe 2_start_service.bat serviceWrapperLicense.txt wrapper.jar 3_start_browser.bat wrapper.conf
操作 | スクリプト | 備考 |
---|---|---|
サービスのインストール | 1_install_service.bat | |
サービスの開始 | 2_start_service.bat | |
コンソールの立ち上げ | 3_start_browser.bat | 8082ポート接続固定 |
サービスの停止 | 4_stop_service.bat | |
サービスのアンインストール | 5_uninstall_service.bat |
管理者権限でコマンドプロンプトを開き、スクリプトを実行します。
サービスのインストール¶
1_install_service.bat
を実行すると、bin\h2-1.3.176.jarをh2.jarにコピーし、サービス名H2 Database Engine Service
の名前でサービスに登録されます。
C:\Program Files (x86)\H2\service>1_install_service.bat ..\bin\h2-1.3.176.jar 1 個のファイルをコピーしました。 ファイル ..\BIN\h2-1.3.176.jar と ..\BIN\H2.JAR を比較しています FC: 相違点は検出されませんでした wrapper | H2 Database Engine Service installed. C:\Program Files (x86)\H2\service>
インストールされたサービスは、スタートアップの種類が「自動」となっています。再起動するとサービスとして登録したH2 databaseが自動起動します。
設定¶
サービスとして起動するH2 databaseの設定は、同ディレクトリにあるwrapper.conf
に記載します。
Javaアプリケーションからの利用¶
JDBCドライバからの利用¶
H2 databaseへJDBC接続する際に使用するJDBCドライバは、H2 databaseをインストールした中にあるh2-1.3.176.jar にあるのでこれをクラスパスに含めます。