var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2'); db.init(function() { db.serverMode(true); db.setEnvAttr(db.SQL_ATTR_UTF8, db.SQL_TRUE); }); db.debug(true); db.conn('*LOCAL', function() { db.autoCommit(true); }); var sql = "SELECT * FROM sysibm.tables WHERE table_schema=(?) AND table_name=(?)"; var params = ["SYSIBM","TABLES"]; execute(); var sql = "SELECT * FROM sysibm.tables WHERE table_schema=(?)"; var params = ["SYSIBM"]; execute(); function execute() { try { db.prepare(sql); // Bind parameters with IBM i conventions var bindParams = params.map(function(param) { var type; switch(typeof param) { case 'string': type=1; break; case 'number': type=2; break; default: type=3; } return [param, db.SQL_PARAM_INPUT, type]; }); db.bindParam(bindParams); db.execute(); var returnCode; var data = []; do { returnCode = db.fetch(function(row) { data.push(row); }); } while(returnCode != db.SQL_NO_DATA_FOUND); db.closeCursor(); console.log(data); } catch(e) { console.error(e); } }