Windows 10 Pro + nodejdbc で hsqldb2 にアクセスしてみる

Windows 10 Pro + nodejdbc で hsqldb2 にアクセスしてみる

参考にしたのはこちら
jdbc - npm
Windows 10 Pro + OpenJDK10 で HSQLDB を設定してみる
 
以下で npm install jdbc を実行する
Windows 10 Pro + node で Build環境 を設定してみる
 
vscode で フォルダを作成
> npm init
> npm install jdbc
driversフォルダを作成して hsqldb.jar をコピーする
jdbc - npm のサンプルコードより(コメントは適当に削除 see orign)


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

if (!jinst.isJvmCreated()) {
jinst.addOption("-Xrs");
jinst.setupClasspath(['./drivers/hsqldb.jar']);
}
var config = {
// Required 埋め込みモードで実行する
url: 'jdbc:hsqldb:file:D:/DB/hsqldb2/hsqldb/lib/db/test', // 環境に合わせる

// Optional
drivername: 'org.hsqldb.jdbcDriver',
minpoolsize: 10,
maxpoolsize: 100,

user: 'SA',
password: '',
properties: {}
};

var hsqldb = new JDBC(config);

hsqldb.initialize(function(err) {
if (err) {
console.log(err);
}
});
// This assumes initialization as above.
// For series execution.
var asyncjs = require('async');

hsqldb.reserve(function(err, connObj) {
// The connection returned from the pool is an object with two fields
// {uuid: , conn: }
if (connObj) {
console.log("Using connection: " + connObj.uuid);
// Grab the Connection for use.
var conn = connObj.conn;

// Adjust some connection options. See connection.js for a full set of
// supported methods.
asyncjs.series([
function(callback) {
conn.setAutoCommit(false, function(err) {
if (err) {
callback(err);
} else {
callback(null);
}
});
},
function(callback) {
conn.setSchema("test", function(err) {
if (err) {
callback(err);
} else {
callback(null);
}
});
}
], function(err, results) {
// Check for errors if need be.
// results is an array.
});

// Query the database.
asyncjs.series([
function(callback) {
// CREATE SQL.
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
statement.executeUpdate("CREATE TABLE blah "
+ "(id int, name varchar(10), date DATE, "
+ " time TIME, timestamp TIMESTAMP);",
function(err, count) {
if (err) {
callback(err);
} else {
callback(null, count);
}
});
}
});
},
function(callback) {
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
statement.executeUpdate("INSERT INTO blah "
+ "VALUES (1, 'Jason', CURRENT_DATE, "
+ "CURRENT_TIME, CURRENT_TIMESTAMP);",
function(err, count) {
if (err) {
callback(err);
} else {
callback(null, count);
}
});
}
});
},
function(callback) {
// Update statement.
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
statement.executeUpdate("UPDATE blah "
+ "SET id = 2 "
+ "WHERE name = 'Jason';",
function(err, count) {
if (err) {
callback(err);
} else {
callback(null, count);
}
});
}
});
},
function(callback) {
// Select statement example.
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
// Adjust some statement options before use. See statement.js for
// a full listing of supported options.
statement.setFetchSize(100, function(err) {
if (err) {
callback(err);
} else {
statement.executeQuery("SELECT * FROM blah;",
function(err, resultset) {
if (err) {
callback(err)
} else {
resultset.toObjArray(function(err, results) {
if (results.length > 0) {
console.log("ID: " + results[0].ID);
}
callback(null, resultset);
});
}
});
}
});
}
});
},
function(callback) {
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
statement.executeUpdate("DELETE FROM blah "
+ "WHERE id = 2;", function(err, count) {
if (err) {
callback(err);
} else {
callback(null, count);
}
});
}
});
},
function(callback) {
conn.createStatement(function(err, statement) {
if (err) {
callback(err);
} else {
statement.executeUpdate("DROP TABLE blah;", function(err, count) {
if (err) {
callback(err);
} else {
callback(null, count);
}
});
}
});
}
], function(err, results) {
// Results can also be processed here.
// Release the connection back to the pool.
hsqldb.release(connObj, function(err) {
if (err) {
console.log(err.message);
}
});
});
}
});

> node nd0002.js
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose start
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose synched
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose script done
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose end
Using connection: 95b9f10a-f260-477b-8a1c-0e90d1699fff

Windows 10 Pro + nodejdbc で hsqldb2 にアクセスしてみる

Windows 10 Pro + nodejdbc で hsqldb2 にアクセスしてみる

参考にしたのはこちら

jdbc - npm

Windows 10 Pro + OpenJDK10 で HSQLDB を設定してみる

 

以下で npm install jdbc を実行する

Windows 10 Pro + node で Build環境 を設定してみる

 

vscode で フォルダを作成

> npm init

> npm install jdbc

driversフォルダを作成して hsqldb.jar をコピーする

jdbc - npm のサンプルコードより(コメントは適当に削除 see orign)

var JDBC = require('jdbc');
var jinst = require('jdbc/lib/jinst');
 
if (!jinst.isJvmCreated()) {
  jinst.addOption("-Xrs");
  jinst.setupClasspath(['./drivers/hsqldb.jar']);
}
var config = {
  // Required 埋め込みモードで実行する
  url: 'jdbc:hsqldb:file:D:/DB/hsqldb2/hsqldb/lib/db/test', // 環境に合わせる
 
  // Optional
  drivername: 'org.hsqldb.jdbcDriver',
  minpoolsize: 10,
  maxpoolsize: 100,
 
  user: 'SA',
  password: '',
  properties: {}
};

var hsqldb = new JDBC(config);

hsqldb.initialize(function(err) {
  if (err) {
    console.log(err);
  }
});
// This assumes initialization as above.
// For series execution.
var asyncjs = require('async');
 
hsqldb.reserve(function(err, connObj) {
  // The connection returned from the pool is an object with two fields
  // {uuid: <uuid>, conn: <Connection>}
  if (connObj) {
    console.log("Using connection: " + connObj.uuid);
    // Grab the Connection for use.
    var conn = connObj.conn;
 
    // Adjust some connection options.  See connection.js for a full set of
    // supported methods.
    asyncjs.series([
      function(callback) {
        conn.setAutoCommit(false, function(err) {
          if (err) {
            callback(err);
          } else {
            callback(null);
          }
        });
      },
      function(callback) {
        conn.setSchema("test", function(err) {
          if (err) {
            callback(err);
          } else {
            callback(null);
          }
        });
      }
    ], function(err, results) {
      // Check for errors if need be.
      // results is an array.
    });
 
    // Query the database.
    asyncjs.series([
      function(callback) {
        // CREATE SQL.
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            statement.executeUpdate("CREATE TABLE blah "
                                  + "(id int, name varchar(10), date DATE, "
                                  + " time TIME, timestamp TIMESTAMP);",
                                  function(err, count) {
              if (err) {
                callback(err);
              } else {
                callback(null, count);
              }
            });
          }
        });
      },
      function(callback) {
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            statement.executeUpdate("INSERT INTO blah "
                                  + "VALUES (1, 'Jason', CURRENT_DATE, "
                                  + "CURRENT_TIME, CURRENT_TIMESTAMP);",
                                  function(err, count) {
              if (err) {
                callback(err);
              } else {
                callback(null, count);
              }
            });
          }
        });
      },
      function(callback) {
        // Update statement.
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            statement.executeUpdate("UPDATE blah "
                                  + "SET id = 2 "
                                  + "WHERE name = 'Jason';",
                                  function(err, count) {
              if (err) {
                callback(err);
              } else {
                callback(null, count);
              }
            });
          }
        });
      },
      function(callback) {
        // Select statement example.
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            // Adjust some statement options before use.  See statement.js for
            // a full listing of supported options.
            statement.setFetchSize(100, function(err) {
              if (err) {
                callback(err);
              } else {
                statement.executeQuery("SELECT * FROM blah;",
                                       function(err, resultset) {
                  if (err) {
                    callback(err)
                  } else {
                    resultset.toObjArray(function(err, results) {
                      if (results.length > 0) {
                        console.log("ID: " + results[0].ID);
                      }
                      callback(null, resultset);
                    });
                  }
                });
              }
            });
          }
        });
      },
      function(callback) {
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            statement.executeUpdate("DELETE FROM blah "
                                  + "WHERE id = 2;", function(err, count) {
              if (err) {
                callback(err);
              } else {
                callback(null, count);
              }
            });
          }
        });
      },
      function(callback) {
        conn.createStatement(function(err, statement) {
          if (err) {
            callback(err);
          } else {
            statement.executeUpdate("DROP TABLE blah;", function(err, count) {
              if (err) {
                callback(err);
              } else {
                callback(null, count);
              }
            });
          }
        });
      }
    ], function(err, results) {
      // Results can also be processed here.
      // Release the connection back to the pool.
      hsqldb.release(connObj, function(err) {
        if (err) {
          console.log(err.message);
        }
      });
    });
  }
});

> node nd0002.js
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose start
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose synched
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose script done
3 27, 2018 h:mm:ss ߌ org.hsqldb.persist.Logger logInfoEvent
: checkpointClose end
Using connection: 95b9f10a-f260-477b-8a1c-0e90d1699fff