DB2 access issue

Issue #12 resolved
Anoop Mundathan created an issue

While accessing DB2 file, getting below error

Node version : v6.9.1

IBM I : v7r2

module.js:597 return process.dlopen(module, path._makeLong(filename)); ^

Error: Symbol resolution failed for /QOpenSys/QIBM/ProdData/Node/os400/db2i/bin/db2i.node because: Symbol ZN2v816FunctionTemplate12SetClassNameENS_6HandleINS_6StringEEE (number 120) is not exported from dependent module node. Symbol _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_6HandleIS4_EENSA_INS_9SignatureEEEi (number 123) is not exported from dependent module node. Symbol _ZN2v86Object3SetENS_6HandleINS_5ValueEEES3 (number 135) is not exported from dependent module node. Symbol ZN2v86Object3SetEjNS_6HandleINS_5ValueEEE (number 136) is not exported from dependent module node. Symbol _ZN2v86String9Utf8ValueC1ENS_6HandleINS_5ValueEEE (number 138) is not exported from dependent module node. Symbol _ZN2v88Function4CallENS_6HandleINS_5ValueEEEiPS3 (number 144) is not exported from dependent module node. Additional errors occurred but are not reported. Examine .loader section symbols with the 'dump -Tv' command. at Error (native) at Object.Module._extensions..node (module.js:597:18) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2.js:19:13) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10)

})

Here is my code snippet

var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2');
http.createServer((req, res) => {

    db.init();
    db.conn("*LOCAL");


    // Handle POST /login Request 
    if (method === 'POST' && url === '/login') {
        let body = '';
        req.on('data', chunk => body += chunk)
           .on('end', () => {
             let values = parseValues(body);
             let username = values[0];
             let password = values[1];

             db.exec("SELECT NAME, PWD FROM MYLIB.USERP", rs => {
                 res.writeHead(200, {'Content-Type': 'text/plain'});
                 res.end(JSON.stringify(rs));
             });

             db.close();

           });

    }

}).listen(PORT, SERVER, () => {
    console.log(`Server running at http://${SERVER}:${PORT}`);
});

Comments (8)

  1. Aaron Bartell

    Change the following line from:

    var db = require('/QOpenSys/QIBM/ProdData/Node/os400/db2i/lib/db2');
    

    to

    var db = require('/QOpenSys/QIBM/ProdData/OPS/Node6/os400/db2i/lib/db2');
    
  2. Anoop Mundathan reporter

    it is db2a.js in my case

    var db = require('/QOpenSys/QIBM/ProdData/OPS/Node6/os400/db2i/lib/db2a');
    

    worked.

  3. Log in to comment