前面的文章已经讲了本地连接远程Oracle,本篇文章记录oracledb进行连接的注意事项。
本地连接远程Oracle:
Oracledb进行连接数据库的时候下载下来的Oracle模块还需要进行编译。
方法:
1.下载编译模块,有两种编译模块可用,第一种为直接使用npm安装windows-bulid-tools,第二种为手动安装编译器。
- npm install –global –production windows-build-tools(很慢,几个小时都有可能)
- 手动下载安装Visual C++ Build Tools与Python 2.7,然后执行npm config set msvs_version 2015(这种经过多次尝试,不是很靠普)
2.安装node-gyp模块,这是一个node编译C++工程的模块。
- npm install node-gyp -g
3.下载instantclient_12_1,请下载对应系统版本,操作系统版本,oracle对应版本
官方下载地址:https://www.oracle.com/technetwork/topics/winx64soft-089540.html
instantclient-basiclite-windows.x64-12.1.0.2.0
instantclient-sdk-windows.x64-12.1.0.2.0
下载后解压到同一个目录(没有相同文件名的文件不会被覆盖)
4.配置环境变量
Path=D:\instantclient_12_1;D:\instantclient_12_1\vc11
OCI_INC_DIR=D:\instantclient_12_1\sdk\include\
OCI_LIB_DIR=D:\instantclient_12_1\sdk\lib\msvc\
TNS_ADMIN=D:\instantclient_12_1
DYLD_LIBRARY=D:\instantclient_12_1
注意:instantclient_12_1所在目录,不可以有空格,否则会导致工程无法正常使用
5.下载oracledb模块
npm install oracledb --save
6.重新编译
进入到node_modules/oracledb目录。执行指令
node-gyp configure
node-gyp build
注意:如果执行失败,用管理员权限启动命令行执行
编译成功后如果可以直接使用的话最好,我的机器上面前面步骤都成功,重新编译也是成功,但是还是一直报错,目前还没有找到问题。下面直接讲另外一种方法:
新建一个文件夹,去gitlib下载oracledb-electron-rebuild包
地址:https://github.com/n-riesco/oracledb-electron-rebuild
根据里面的介绍进行安装,然后运行编译,成功后将里面的oracledb包复制到你的项目里面就可以直接使用。
后面这个方法仍然需要安装上面windows-build-tools,node-gyp。
安装完之后命令行执行:npm config list看一下是否已经配置。没有的话需要在进行配置。
配置命令:npm config set msvs_version = "2015",npm config set npm_config_node_gyp = "自己的安装目录"
npm config set python = "自己的安装目录",如果安装了两个版本,需要指定对应的python版本。
如果修改失败可以看一下配置文件的位置,直接在里面修改即可。
注意:自己的项目不需要安装oracledb模块,运行机子需要安装oracle client