Symfoware

Symfowareについての考察blog

FreeBSD 10.1でH2 Database Engineを起動する

ずいぶん前にDebianでH2 Database Engineを動かしてみました。
DebianでH2 Database Engineを起動し、別端末からJavaで接続する

FreeBSD 10.1で同じことをやってみます。

OpenJDKのインストール



jvmはOpenJDKを使用することにしました。
こちらの手順でインストールしています。
FreeBSD 10.1にOpenJDK 8をインストールする



H2 Databaseの起動



使用するバージョンは現時点(2015/7/5)で最新の1.4.187です。
こちらの、All Platformsのリンクからダウンロード、展開します。
http://www.h2database.com/html/main.html

/usr/local/opt/h2に配置しました。
以前の記事を参考に、

・-tcpAllowOthersで、外部接続許可
・-baseDir /usr/local/opt/h2/dataで、データの保存先を指定

というオプションを指定し、起動します。


# cd /usr/local/opt/h2/bin
# chmod +x h2.sh
# ./h2.sh -tcpAllowOthers -baseDir /usr/local/opt/h2/data
Web Console server running at http://192.168.1.103:8082 (only local connections)
Failed to start a browser to open the URL http://192.168.1.103:8082: Browser detection failed and system property h2.browser not set
TCP server running at tcp://192.168.1.103:9092 (others can connect)
PG server running at pg://192.168.1.103:5435 (only local connections)








外部からの接続



Javaでサンプルを書いてみます。
h2-1.4.187.jarをビルドパスに含めておきます。


  1. package sample;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.Statement;
  6. public class MainProcess {
  7.     
  8.     public static void main(String[] args) throws Exception {
  9.         
  10.         //接続
  11.         String url = "jdbc:h2:tcp://192.168.1.103/sample";
  12.         Connection con = DriverManager.getConnection(url);
  13.         
  14.         Statement stmt = con.createStatement();
  15.         // テーブル作成
  16.         stmt.execute("CREATE TABLE IF NOT EXISTS test (id int, name varchar(10))");
  17.         stmt.execute("INSERT INTO test (id, name) values (1, '日本語テスト')");
  18.         
  19.         ResultSet rs = stmt.executeQuery("SELECT * FROM test");
  20.         
  21.         while(rs.next()) {
  22.             System.out.println(rs.getString("name"));
  23.         }
  24.         rs.close();
  25.         
  26.         stmt.close();
  27.         con.commit();
  28.         con.close();
  29.     }
  30.     
  31. }




実行結果はこちら。


日本語テスト




狙い通り、「/usr/local/opt/h2/data」に「sample.mv.db」という
ファイルが作成されました。

関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2015/07/05(日) 16:31:49|
  2. H2 Database Engine
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<H2SQLのバックアップとリストア | ホーム | Apache Derbyのバックアップとリストア>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1743-0ae7a276
この記事にトラックバックする(FC2ブログユーザー)