我已按照说明操作:https://www.ibm.com/developerworks/community/blogs/pd/entry/using_ibm_db2_from_node_js4?maxresults=15&page=0&lang=en 用于 32 位安装的 Ubuntu。
它似乎已正确安装,我可以运行 require('ibm_db')。使用提供的示例代码(nodedb2test.js),无论我使用什么数据库参数,我都会收到错误:
node nodedb2test.js
Test program to access DB2 sample database
*** stack smashing detected ***: node terminated
Aborted (core dumped)
示例代码如下:
/*require the ibm_db module*/
var ibmdb = require('ibm_db');
console.log("Test program to access DB2 sample database");
ibmdb.open("DRIVER={DB2};DATABASE=testdb;UID=username;PWD=password;HOSTNAME=localhost;port=3000", function(err, conn)
{
if(err) {
console.error("error: ", err.message);
}
});
另外我发现我需要连接的DB2版本是版本6。我已经安装了BM Data Server Driver版本10.5,这与DB2的版本相对应吗?下面显示 v9.1 驱动程序不可用。
最佳答案
在撰写本文时,这对我有用。
C:\Development\Javascript>node -p "process.arch" x64
C:\Development\Javascript>node -p "process.platform" win32
C:\Development\Javascript>node -p "process.version" v14.17.5
C:\Development\Javascript>npm 安装 ibm_db
var ibmdb = require("ibm_db");
const config = require("config");
const hostname = config.get("db2.hostname");
const username = config.get("db2.username");
const password = config.get("db2.password");
ibmdb.open("DRIVER={DB2};DATABASE=bludb;HOSTNAME=" + hostname + ";UID=" + username + ";PWD=" + password + ";PORT=31198;PROTOCOL=TCPIP;SECURITY=SSL", function (err, conn){
if (err) return console.log(err);
conn.query("SELECT * FROM orders", function (err, data) {
if (err) console.log(err);
console.log(data);
conn.close(function () {
console.log('done');
});
});
});
关于Node.js 到 DB2(使用 ibm_db),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24050591/