nodejs链接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.mdhtml
个人nodejs链接Oracle的配置,运行环境:node
windows7 x64git
nodejs 0.12.7github
Python 2.7.10数据库
npm 2.11.3npm
npm调用下载,下载成功以后交由oracle客户端解析驱动包,解析成功以后,执行完成,目录node_modules生成oracledb模块;windows
程序运行时调用oracle sdk执行代码编译,程序运行逻辑处理,输出页面结果。服务器
一、下载解压须要安装包(2个)oracle
二、添加环境变量app
三、npm执行安装命令
四、查询demo代码
五、常见错误解决方案
安装详情
下载页面: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
把两个文件解压到“C:\oracle\instantclient_12_1”文件目录不一样,不会相互覆盖。
OCI_INC_DIR=C:\oracle\instantclient_12_1\sdk\include
OCI_LIB_DIR=C:\oracle\instantclient_12_1\sdk\lib\msvc
注意!若是本机安装oracle服务器端,请把次环境变量以下地址:
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
npm install oracledb
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 :id function (err, result) { if (err) { console.error(err.message); return; } res.render('index', {title: '查询信息:' + JSON.stringify(result.rows)}); }); }); });
执行后,展示效果,如图:
错误信息,以下:
The specified procedure could not be found.
c:\xxx\oracledb.node …解放方案:服务器安装版本与环境变量的OCI_INC_DIR、OCI_LIB_DIR版本不符,设置版本为一致的便可,参照上面步骤2,配置完成以后,删除以前下载的oracledb模块,从新下载oracledb模块(npm install oracledb)便可。