H2 Database を起動してWebコンソールからデータベースが作成できないことはないでしょうか。
はじめて H2 Database を使用するとき、次の操作をしても画面下にエラーメッセージが表示されます。
- 「保存済設定」から「Generic H2 (Server)」を選択する。
- 「接続」のボタンを押下する。
Database "~/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 (ヘルプ)
エラーメッセージの出力例
エラーメッセージには、指定したデータベースが見つからないことが記載されています。この問題を解決するためには、データベースを新しく作成する必要があります。
ただし、Webコンソールには一見するとデータベースを作成する方法がないように見えます。
今回は、この問題の解決するためのデータベースの作成方法を紹介します。
環境
検証に使用した環境/ライブラリを以下に記載します。
- OS:Windows 10 Home
- バージョン:1909
- OSビルド:18363.836
- H2 Database
- バージョン:1.4.200(2019-10-14)
使用する H2 Database は、公式サイトのDownloadからAll Platformsを選択してダウンロードしています。Windows Installerは使用していません。このため、Windows Installerを使用する場合は、動作が違う可能性があるため注意してください。
データベース作成
H2 Database で使用するのデータベースを作成する、以下の2つの方法を紹介します。
- Webコンソールを使用する。
- タスクトレイのアイコンを使用する。
Webコンソールを使用する
Webコンソールを使用してデータベースを作成する方法は、次の操作をすることにより作成することができます。
- 「保存済設定」から「Generic H2 (Embedded)」を選択する。
- 「接続」のボタンを押下する。
データベースのファイルは、「JDBC URL」に記載されている場所に作成されます。
例えば、ログインしているユーザーが「h2」の場合、「JDBC URL」に「jdbc:h2:~/test」を指定すると、次の場所に作成されます。
C:\Users\h2\test.mv.db
「~」を指定した場合は、ログインしているユーザのディレクトリ(一般的にホームディレクトリと呼ばれている)に作成されます。
タスクトレイのアイコンを使用する
H2 Databaseを起動しているとタスクトレイにアプリケーションアイコンが表示されます。
アイコンを右クリックすると表示される選択肢の「Create a new database...」を選択します。選択すると次のような画面が表示されます。
「Database path」に指定した場所に、データベースファイルが作成されます。「~/test」を指定するとWebコンソールと同じ場所に作成されます。
ただし、この機能を使用する場合は、パスワードが必須となるため注意してください。
まとめ
H2 Databaseでデータベースファイルを作成する方法を紹介しました。