The Node.js iDB Connector is an IBM i Node.js Db2 driver open source project from IBM
npm i idb-connector
NOTE This package only installs on IBM i systems.
Then you can require in your code, as shown below.
const db = require('idb-connector');
const {dbconn, dbstmt} = require('idb-connector');
const sSql = 'SELECT STATE FROM QIWS.QCUSTCDT';
const connection = new dbconn();
connection.conn('*LOCAL');
const statement = new dbstmt(connection);
statement.exec(sSql, (x) => {
console.log(JSON.stringify(x));
statement.close();
connection.disconn();
connection.close();
});
const {dbconn, dbstmt} = require('idb-connector');
const sSql = 'SELECT STATE FROM QIWS.QCUSTCDT';
const connection = new dbconn();
connection.conn('*LOCAL');
const statement = new dbstmt(connection);
statement.prepare(sSql, () => {
statement.execute(() => {
statement.fetchAll((x) => {
console.log(`Result is : ${JSON.stringify(x)}`);
statement.close();
});
});
});
const {dbconn, dbstmt} = require('idb-connector');
const sql = 'CALL QXMLSERV.iPLUG512K(?,?,?,?)';
const connection = new dbconn();
connection.conn('*LOCAL');
const statement = new dbstmt(connection);
const ipc = '*NA';
const ctl = '*here';
const xmlIn = `<xmlservice><sh>system 'wrksbs'</sh></xmlservice>`;
const xmlOut = '';
statement.prepare(sql, () => {
statement.bindParameters([ipc, ctl, xmlIn, xmlOut], () => {
statement.execute((out) => {
for (let i = 0; i < out.length; i += 1) {
console.log(out[i]);
}
statement.close();
connection.disconn();
connection.close();
});
});
});
View CHANGELOG.md
file.
Note that building isn't necessary for end-users and is more for developers looking to compile the native Node.js extensions (C code).
git clone [email protected]:IBM/nodejs-idb-connector.git
cd nodejs-idb-connector
npm install --build-from-source
Note: sqlcli header files, GCC, and Python are required to compile the code.
yum install sqlcli-devel
yum group install 'Development tools'
yum install python2
git clone [email protected]:IBM/nodejs-idb-connector.git
cd nodejs-idb-connector
npm install
./node_modules/.bin/node-pre-gyp rebuild --production
./node_modules/.bin/node-pre-gyp package
Create a new github release and attach the generated tar file in the build
directory to the github release.
After the release is created the publish action will automatically publish to npm.
Please read the contribution guidelines.