我正在尝试连接到 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
我在 Windows 10 上也有同样的问题。因为你的 ibm_db 模块没有安装成功。
直接下载IBM生成的clidriver。设置 IBM_DB_HOME 环境变量指向该目录后,重新安装 ibm_db 模块以跳过下载 clidriver。
因为您的 ibm_db 模块由于 Windows 10 上的代理而未成功安装。
您只需断开 VPN 并安装 ibm_db 节点包就可以了。
您的 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