h2 database をもう少し試してみる

h2 database をもう少し試してみる
 
参考にしたサイトはこちら
node-postgres
Upgrading to 7.0
 
設定はこちらWindows 10 Pro で H2DB を試してみる
 
※node-pg はバージョンによって使い方が違う
 検索結果は古い仕様のが上位にくることが多い感じなので、バージョン依存の仕様をチェックしたほうが吉かと


create table test_table (
id integer not null ,
value varchar(256)
)
insert into test_table (id, value) values (1, 'hoge');
insert into test_table (id, value) values (2, 'fuga');
insert into test_table (id, value) values (3, 'piyo');
以下は必要に応じて実行
> cd D:\DB\h2\bin
> ./h2sv.bat -tcpAllowOthers -baseDir D:\DB\h2db\data\
 
libreOffice 6.0.2.1 Base から接続してみる
JDBCを使用した接続
ツール -> オプション -> LibreOffice -> 詳細 -> クラスパス ボタンをクリック
 -> アーカイブを追加 をクリック して以下を追加する
  -> D:\DB\h2\bin\h2-1.4.197.jar
  -> D:\DB\h2\bin\postgresql-42.2.2.jar
 
・Base から使用する
 左側のペインで Base をクリック
 ->データベースウィザードが表示
  ->既存のデータベースに接続:JDBC
  ->次へ
   ->データソースのURL:h2:D:\DB\h2db\data\test
   ->JDBC ドライバークラス:org.h2.Driver
   ->次へ
    ->ユーザー名:sa
    ->パスワードを要求する:チェック
    ->次へ
     ->完了
     ファイル名を指定して保存
 右側のペインから作成したデータベースが開くことを確認する
 
・node-pg から接続してみる
 postgres 10.1 で通ったコードをポートのみ代えてみたんだが、エラーが発生
 原因は今のところ不明

let pg = require('pg');
let config = {
database: 'test',
user : 'sa',
password: 'demo',
host : 'localhost',
port : 5435,
max : 10,
idleTimeoutMillis: 30000,
};

let pool = new pg.Pool(config);
let sql = 'select * from test_table';
pool.query(sql, (err, res) => {
if (err) {
console.log('err');
}
})

・nodejdbc
Windows 10 Pro + nodejdbc で hsqldb2 にアクセスしてみる
定義部分以外は上記と同じコードで動作するので、変更部分のみ記述

var JDBC = require('jdbc');
var jinst = require('jdbc/lib/jinst');

if (!jinst.isJvmCreated()) {
jinst.addOption("-Xrs");
jinst.setupClasspath(['./drivers/hsqldb.jar',
'./drivers/h2-1.4.197.jar', // 追加
'./drivers/derbyclient.jar',
'./drivers/derbytools.jar']);
}

var config = {
// Required
url: 'jdbc:h2:D:/DB/h2db/data/test', // 変更

// Optional
drivername: 'org.h2.Driver',
minpoolsize: 10,
maxpoolsize: 100,
// アカウント・パスワードを使用する場合は以下の記述になる
properties: {
user: 'sa',
password: 'demo',
}
};