2014-03-06 128 views
3

我正在尝试开始编写一个Node.JS应用程序,它依赖于存储在DB2数据库中的一些数据。我遇到了两个可以为我工作的节点模块。 DB2.jsibm_db,都在NPMjs网站上。Node.JS和DB2连接

下面的安装指南为后两者

https://github.com/herzi/db2.js

https://www.ibm.com/developerworks/community/blogs/pd/entry/using_ibm_db2_from_node_js4?lang=en

以下IBM的安装指南的模块后,我意识到,我需要获得Linux驱动程序DB2安装。但是,他们的说明并不十分清楚,我需要将一个新的节点副本安装到我的主文件夹中。我的NodeJS已经在全球安装,当我代替它在/usr/lib/nodejs安装文件夹试图做node-gyp configure build在任何我的db2.jsibm_db

克隆时,我仍然得到编译错误,我越来越被相关的一些文件中的特定错误应该与Linux DB2驱动程序一起安装,即sqlcli.hsqlcli1.h。这是我为两个项目运行node-gyp configure build时得到的错误消息。

gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] 
make: Entering directory `/home/mint/Programming/node-ibm_db/build' 
    CXX(target) Release/obj.target/odbc_bindings/src/odbc.o 
In file included from ../src/odbc.cpp:25:0: 
../src/odbc.h:29:21: fatal error: sqlcli1.h: No such file or directory 
#include <sqlcli1.h> 
        ^
compilation terminated. 
make: *** [Release/obj.target/odbc_bindings/src/odbc.o] Error 1 
make: Leaving directory `/home/mint/Programming/node-ibm_db/build' 
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:267:23) 
gyp ERR! stack  at ChildProcess.EventEmitter.emit (events.js:98:17) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (child_process.js:789:12) 
gyp ERR! System Linux 3.11.0-12-generic 
gyp ERR! command "node" "/usr/bin/node-gyp" "configure" "build" 
gyp ERR! cwd /home/mint/Programming/node-ibm_db 
gyp ERR! node -v v0.10.15 
gyp ERR! node-gyp -v v0.13.0 
gyp ERR! not ok 

回答

3

我认为你需要安装DB2服务器的IBM Data Server Client package for your version - 它含有,除了库,编译所需要的头文件。

+1

谢谢,我只是碰到这个职位http://stackoverflow.com/questions/17960837/connecting-to-db2-from-node-js-on-linux-platform里面提到的头文件也来了。出于某种原因,在developerWorks在IBM的网站上发布只说来获取数据服务器驱动程序,而不是客户端软件包,如果这个工程,我会标记你作为正确答案 – ripit

+0

我猜他们的意思预编译的'ibm_db2'模块,止跌不需要标题,只需要共享库。 – mustaccio

1

只要运行“故宫安装IBM_DB”,你会得到那些包括在IBM_DB /安装/ clidriver中/文件夹包含。谢谢。