NodeJs连接Oracle数据库
nodejs連接oracle數(shù)據(jù)庫,各個(gè)平臺(tái)的官方詳情文檔:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
我的nodejs連接Oracle的配置,運(yùn)行環(huán)境:
windows7 x64
nodejs 0.12.7
Python 2.7.10
npm 2.11.3
運(yùn)行原理分析
npm調(diào)用下載,下載成功之后交由oracle客戶端解析驅(qū)動(dòng)包,解析成功之后,執(zhí)行完成,目錄node_modules生成oracledb模塊;
程序運(yùn)行時(shí)調(diào)用oracle sdk執(zhí)行代碼編譯,程序運(yùn)行邏輯處理,輸出頁面結(jié)果。
實(shí)現(xiàn)步驟簡介
1、下載解壓需要安裝包(2個(gè))
2、添加環(huán)境變量
3、npm執(zhí)行安裝命令
4、查詢demo代碼
5、常見錯(cuò)誤解決方案
?
安裝詳情
1、下載解壓需要安裝包(2個(gè))
下載頁面:http://www.oracle.com/technetwork/topics/winx64soft-089540.html
下載名稱:
instantclient-basiclite-windows.x64-12.1.0.2.0.zip
instantclient-sdk-windows.x64-12.1.0.2.0.zip
把兩個(gè)文件解壓到“C:\oracle\instantclient_12_1”文件目錄不同,不會(huì)相互覆蓋。?
2、添加環(huán)境變量
OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include
OCI_LIB_DIR=C:\oracle\instantclient_12_1\sdk\lib\msvc
?
注意!如果本機(jī)安裝oracle服務(wù)器端,請把次環(huán)境變量如下地址:
OCI_INC_DIR = C:\app\Administrator\product\11.2.0\dbhome_1\oci\include
OCI_LIB_DIR = C:\app\Administrator\product\11.2.0\dbhome_1\OCI\lib\MSVC
3、npm執(zhí)行安裝命令
npm install oracledb4、查詢demo代碼
router.get('/', function (req, res, next) {var oracledb = require('oracledb');oracledb.getConnection({user: 'username',password: 'password',connectString: '192.168.20.10:1521/ORCL'},function (err, connection) {if (err) {console.error(err.message);return;}connection.execute("SELECT * from CMS_FIlE where content_id=:id",[1072], // bind value for :idfunction (err, result) {if (err) {console.error(err.message);return;}res.render('index', {title: '查詢信息:' + JSON.stringify(result.rows)});});});});執(zhí)行后,展現(xiàn)效果,如圖:
5、常見錯(cuò)誤解決方案
錯(cuò)誤信息,如下:
The specified procedure could not be found.?
c:\xxx\oracledb.node …解放方案:服務(wù)器安裝版本與環(huán)境變量的OCI_INC_DIR、OCI_LIB_DIR版本不符,設(shè)置版本為一致的即可,參照上面步驟2,配置完成之后,刪除之前下載的oracledb模塊,重新下載oracledb模塊(npm install oracledb)即可。
?
總結(jié)
以上是生活随笔為你收集整理的NodeJs连接Oracle数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】交互式界面创建函数
- 下一篇: linux cmake编译源码,linu