2014-03-06 146 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中/文件夾包含。謝謝。