从 Node js 平台连接到 Ibm_db2 时出现错误

问题描述 投票:0回答:3

我正在尝试连接到 DB2 服务器,但出现以下错误。

我正在遵循给定的文档:npm db2 Doc

我已经做到了

npm i ibm_db2

代码:

const ibmdb = require('ibm_db');

const connectQuery =
'DATABASE=' +
DATABASE +
';HOSTNAME=' +
HOSTNAME +
';UID=' +
UID +
';PWD=' +
PWD +
';PORT=' +
PORT +
';PROTOCOL=TCPIP';

ibmdb.open(connectQuery, function(err, conn) {
    if (err) return console.log(err);

    conn.query('select 1 from sysibm.sysdummy1', function(err, data) {
        if (err) console.log('err');
        else console.log('data');

        conn.close(function() {
            console.log('done');
        });
   });
});

错误:

Error: Could not locate the bindings file. Tried:
 → ...\node_modules\ibm_db\build\odbc_bindings.node
 → ...\node_modules\ibm_db\build\Debug\odbc_bindings.node
 → ...\node_modules\ibm_db\build\Release\odbc_bindings.node
 → ...\node_modules\ibm_db\out\Debug\odbc_bindings.node
 → ...\node_modules\ibm_db\Debug\odbc_bindings.node
  • 是否还有其他节点包可以建立连接?
node.js npm db2 node-modules
3个回答
1
投票

我在 Windows 10 上也有同样的问题。因为你的 ibm_db 模块没有安装成功。

直接下载IBM生成的clidriver。设置 IBM_DB_HOME 环境变量指向该目录后,重新安装 ibm_db 模块以跳过下载 clidriver。


0
投票

因为您的 ibm_db 模块由于 Windows 10 上的代理而未成功安装。

您只需断开 VPN 并安装 ibm_db 节点包就可以了。


0
投票

您的 ibm_db 有冲突。也许您从某个存储库克隆它并尝试在本地运行它?

因此,从您的应用程序路径:

首先下载 clidriver(为了避免 ibm_db 安装中的此步骤)并将其解压缩到 CLIDRIVERPATH(只需您想要的任何目录)

然后按照这些操作(删除 ibm_db、配置 IBM_DB_HOME、配置 LD_LIBRARY_PATHE、重新安装 ibm_db)。 这是它的词:

$ npm remove ibm_db

$ npm config set IBM_DB_HOME=C:\CLIDRIVERPATH\clidriver

$ npm config set LD_LIBRARY_PATHE=C:\CLIDRIVERPATH\clidriver\lib

$ npm install ibm_db
© www.soinside.com 2019 - 2024. All rights reserved.