node.js的發展如日中天,oracle作為老牌資料庫雖然很龐大,大家不願意用,但是項目需要,經常又必須用。怎麼搞。 oracle官方已經開發了相應的庫, https://github.com/oracle/node-oracledb/,本文介紹一下具體安裝方法,部分翻譯其文檔,結合部分個人使用體會。
具體的方法可參考這個: http://my.oschina.net/airmount/blog/277669
------------------------------------------------------------------------------- 我想說的是安裝過程中的注意事項。
一、64位與32位的注意 Oracle instant client 是 Oracle 提供的訪問資料庫的 C++介面 如果你的node是64位的選擇安裝x64的。 如果你的node是32位的選擇ia32的。在64位環境下使用32位的請使用這個命令
npm install --arch=ia32 oracle
查看Node是32的還是64位的:https://github.com/joeferner/node-oracle/issues/154
node -e "console.log(process.arch, require('os').arch())"
二、PATH的設定 c:\apps\instantclient_12_1\vc10;c:\apps\instantclient_12_1;
如果編譯成功,在這個庫的Lib目錄下會出現一個oracle_bindings.node 如果運行時出現 The specified procedure could not be found. 是因為PATH設定不正確,要確保 Path 中 c:\instantclient_12_1\vc11 在 c:\instantclient_12_1 前面. 如果Path中存在其他版本的oracle client配置,請保證 "c:\instantclient_12_1\vc11;c:\instantclient_12_1" 在 oracle client前面.
。 因為OCI.dll有多個,確保用到的是我們所安裝的目錄裡的 ,如果不確定是哪個,可以用depends http://www.dependencywalker.com/ 查一下