Windows 10 Pro で H2DB を試してみる

Windows 10 Pro で H2DB を試してみる

参考にしたサイトはこちら

H2 Database Engine (H2DB) の環境構築

H2 DBの使い方

H2 DB Engine インストール・設定 技術メモ

win10 7 無線と有線 ネットワーク接続の優先順位【アダプターバインド変更方法 】

 

色々見ていると、psqlODBC で接続可らしいけど、自分の環境ではエラーを吐いて不可なので、調査は後回し

OBDCのログ

h2db
[0.031]Driver Version='10.01.0000,Dec 27 2017' linking 1800 dynamic Multithread library
[0.031]PQconnectdbParams: host='localhost' port='5435' dbname='test' user='sa' sslmode='disable' password='demo'
[0.046]PQsendQuery: 0000025F34147180 'SET DateStyle = 'ISO';SET extra_float_digits = 2;show transaction_isolation'
[0.046]	ok: - 'C' - UPDATE 0
[0.046]	(ERROR) 42001 'SQLステートメントに文法エラーがあります "SET EXTRA_FLOAT_DIGITS[*] = 2 "; 期待されるステートメント "@, AUTOCOMMIT,
~

postgreSQL 10.1
SET extra_float_digits = 2 [42001-197]'
[2.069]PQfinish: 0000025F34147180
[1179.503]Driver Version='10.01.0000,Dec 27 2017' linking 1800 dynamic Multithread library
[1179.503]PQconnectdbParams: host='localhost' port='5432' dbname='test' user='postgres' sslmode='disable' password='demo'
[1179.675]PQfinish: 0000025F3692D3A0
[1189.335]Driver Version='10.01.0000,Dec 27 2017' linking 1800 dynamic Multithread library
[1189.335]PQconnectdbParams: host='localhost' port='5432' dbname='demo' user='postgres' sslmode='disable' password='demo'
[1189.491]PQsendQuery: 0000025F3692DAE0 'SET DateStyle = 'ISO';SET extra_float_digits = 2;show transaction_isolation'
[1189.554]	ok: - 'C' - SET
[1189.554]	ok: - 'C' - SET
~

H2データベースにODBC接続してみました

を参考に psqlodbc_09_02_0100-x64.zip で試してみると、正常に接続することを確認

psqlodbc_09_05_0400-x64.zip:NG

psqlodbc_09_03_0300-x64-1.zip:OK

なので 09_05_0400 以降の仕様変更に対応していないようだ?

 

自分の環境の場合、Hyper-V、Virtual-Box、PCの順で認識されていたのでNICの優先順位を変更(コピペ)

 

・画面左下のWindowsマークから歯車アイコン「設定」を開く

・「ネットワークとインターネット」を開く

・ネットワークとインターネット左タブの「状態」を選択(デフォルト)

・「アダプターのオプション変更する」を開く

・ネットワーク設定の変更から「アダプターのオプションを変更する」を開く

・ネットワークドライバの一覧から、該当のネットワークに繋がっている「接続」を選択 → 右クリック「プロパティ」を開く

・「インターネットプロトコルバージョン 4」を選択

・上部のタブ「全般」タブを選択(デフォルト)

・OK・キャンセルボタンの上にある「詳細設定」を開く

・「IP設定」タブを選択(デフォルト)

・一番下の項目「自動メトリック」チェックを外す

・「インターフェイスメトリック」欄に値を入力(値は小さい数字 (1)が順位が高く、大きい数字(100)が優先順位が低い)

・「OK」して保存

・接続しているすべてのアダプターに「インターフェイスメトリック」に値を入力する(4.から14.を繰り返す)

 

以下より h2-2018-03-18.zip をDLする

Downloads

h2-2018-03-18.zip を解凍後、D:\DB\ 以下に h2 と名前を変更して配置する

 

以下より最新版 psqlodbc_10_01_0000-x64.zip をDLする

File Browser

psqlodbc_10_01_0000-x64.zip を解凍後、psqlodbc_x64.msi を実行してインストールする

> java -version

openjdk version "10" 2018-03-20

OpenJDK Runtime Environment 18.3 (build 10+46)

OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)

 

> cd D:\DB\h2\bin
> cat h2sv.bat h2.bat を以下に修正する Console -> Server
@java -cp "h2-1.4.197.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Server %*
@if errorlevel 1 pause

> ./h2sv.bat -tcpAllowOthers -baseDir D:\DB\h2db\data\
 
ブラウザで H2 コンソールが立ち上がるので
 
保存済設定:Generic H2(Enbedded) ※デフォルト
設定名:Generic H2(Enbedded) ※デフォルト
ドライバクラス:org.h2.Driver ※デフォルト
JDBC URL:jdbc:h2:D:\DB\h2db\data\test ※絶対パス指定
ユーザ名:sa ※デフォルト
パスワード:空白 ※デフォルト
 
起動後
・パスワードの追加
alter user sa set password 'demo'
 
ユーザー sa で再度ログイン

・テーブルを作成する
CREATE TABLE TEST_TABLE (
ID INTEGER NOT NULL IDENTITY,
VALUE VARCHAR(256)
)
 
・データの挿入
INSERT INTO TEST_TABLE (VALUE) VALUES ('HOGE');
INSERT INTO TEST_TABLE (VALUE) VALUES ('FUGA');
INSERT INTO TEST_TABLE (VALUE) VALUES ('PIYO');
 
SELECT * FROM TEST_TABLE;

でデータが表示されることを確認する

・OpenJDK10 + Eclipse oxygen + DBViewerPlugin から接続してみる

 設定はこちらWindows 10 Pro + OpenJDK9 で Eclipse oxygen を少し試してみる

 右上の Open Psespective から DBViewerを選択する

 DBViewerPluginを右ボタンでクリックして 接続 を選択する

  データベース定義名:h2db

  JDBC Driver:ファイルの追加より D:\DB\h2\bin\h2-1.4.197.jar を選択して 開く をクリックする

  

Next> をクリック

 

 JDBC Driver:org.h2.Driver

 JDBC タイプ: Type4 どちらでも可

 接続文字列:jdbc:h2:D:\DB\h2db\data\test

 接続ユーザ:sa

 接続パスワード:demo

 接続スキーマ:空白 ※デフォルト

 

 テスト接続 ボタンをクリックして 接続を確認する

 

Next> をクリック

 

そのまま fisishi をクリック

 

使用時は h2db を選択してSQL 実行:ビューでSQLを書いて、SQL実行ボタン(Shift+Enter)を押す