H2データベースにODBC接続してみました
ちょっと、Windows環境でODBC接続してSQLを実行したくなりました。
手元にあるPCを確認すると、データベースがインストールされていませんでしたので、手軽にインストールできて、ODBC接続ができるH2データベースを使用して、ODBC接続するまでに行った手順をメモしておきます。
H2のインストール
H2データベースのサイトにアクセスし、ZIPアーカイブをダウンロードしました。
※Windowsインストーラー版もありましたが、ZIP版の方が、手軽に使える気がしました。
H2データベースのサイト
H2 Database Engine
ダウンロードしたアーカイブ
h2-2013-07-28.zip
アーカイブを展開すると「h2.bat」があり、実行すると、データベースが起動し、さらに、データベースへアクセスするためのクライアントWebアプリケーション(?)が表示されました。 上手く起動出来たようです。
データベースの終了は、クライアントWebアプリケーションから、「設定」リンクをクリック、「シャットダウン」ボタンをクリックで、終了出来ました。
H2用ODBCドライバのインストール
PostgreSQLのODBCドライバを流用するらしいです。少し珍しい仕組みですが、上述のH2データベースサイトに記述がありました。
PostgreSQLのサイトにアクセスし、ODBCドライバをダウンロードしました。アーカイブを展開すると、インストーラー(psqlodbc_x64.msi)があるので、それを実行してインストール完了しました。
PostgreSQLのODBCドライバのダウンロードページ
PostgreSQL: File Browser
ダウンロードしたアーカイブ
psqlodbc_09_02_0100-x64.zip
※使用する環境が64bitのため、64bit版をダンロードしました。
H2の起動
ODBC接続可能となるように設定します。
「h2.bat」を、別ファイル「h2_server.bat」にコピーし、「org.h2.tools.Console」を「org.h2.tools.Server」に変更しました。
「h2_server.bat」を実行すると、H2データベースが起動しました。
ODBC接続テスト
WindowsのODBCデータソースアドミニストレータから、接続をしてみました。
ODBCデータソースアドミニストレータを起動します。次の設定でデータソースを登録しました。
ドライバー:PostgreSQL Unicode(x64)
データソース名:H2TestDsn
サーバー名:localhost
データベース名:testdb
ポート:5435
ユーザー名:sa
パスワード:sa
「テスト」ボタンをクリックし、正常に接続できることが確認できました。
この場合、「h2_server.bat」を実行した時のカレントディレクトリにデータベースファイルが作られました。 データベース名の頭に「~/」をつけると、ユーザーディレクトリにデータベースファイルが作られました。