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',
  }
};