1、下载编译支撑文件(2个)
下载页面: 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
把两个文件解压到“D:\instantclient-basic-nt-12.1.0.2.0”文件目录不同,不会相互覆盖。
2、添加环境变量
OCI_INC_DIR=D:\instantclient-basic-nt-12.1.0.2.0\sdk\include
OCI_LIB_DIR=D:\instantclient-basic-nt-12.1.0.2.0\sdk\lib\msvc
注意!如果本机安装oracle服务器端,请把环境变量如下地址(注意正确设置ORACLE_HOME环境变量):
OCI_INC_DIR = %ORACLE_HOME%\oci\include
OCI_LIB_DIR = %ORACLE_HOME%\OCI\lib\MSVC
3、npm执行安装命令
npm install oracledb
如果64位Node环境中安装32位插件,则执行
npm install oracledb --arch=ia32
如果编译成功,会在node_modules\oracledb\build\Release目录中生成oracledb.node等文件
要注意与oracle instance client位数的匹配。
4、查询demo代码,保存为oracle.js
var oracledb = require('oracledb'); oracledb.getConnection( { user : "hr", password : "welcome", connectString : "localhost/XE" }, function(err, connection) { if (err) { console.error(err.message); return; } connection.execute( "SELECT department_id, department_name " + "FROM departments " + "WHERE manager_id < :id", [110], // bind value for :id function(err, result) { if (err) { console.error(err.message); return; } console.log(result.rows); }); });
5.设置环境变量
前面两个环境变量OCI_INC_DIR、OCI_LIB_DIR是编译时需要,运行时,需要设置PATH,确保oracledb插件能够找到OCI库。
set PATH=D:\instantclient-basic-nt-12.1.0.2.0;%PATH%
6.执行
进行oracle.js所在的目录,执行
node oracle.js
7.更多
https://github.com/oracle/node-oracledb提供了全方位的例子,代码很好懂,仔细阅读可以了解更多oracledb使用详情。