node访问oracledb的环境搭建
关于安装oracleDB环境官网说明地址:
https://oracle.github.io/node-oracledb/INSTALL.html
环境搭建所需软件和文档的压缩包
链接: https://pan.baidu.com/s/1OGo9t72E1i2SBTnzYhr26A 提取码: zcwm
一、安装Pyhton2.7
1.默认选择“Install for all users”。

2.选择安装目录,建议选择默认的安装位置。

3.功能选择安装,拉到最下面的“Add python.exe to Path”这个必须安装的,选择第一个安装方式就行。

二、安装nodejs
1.选择安装位置。

2.在自定义设置页面中,确保选中“Add to Path”,然后单击“下一步”。然后点击“安装”。

三、安装oracle组件工具。
1.下载链接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
2.根据系统选择32位或64进行下载。

2.下载两个安装包
Instant Client Package – Basic
Instant Client Package – SDK

3.下载完成后将两个压缩包的文件放到同一个文件夹下。(结果如下图)

4.添加系统变量。
右键我的电脑——属性——高级系统设置——高级——选择系统变量

5.添加和修改系统变量。
(1)在系统变量的“path”中添加两个压缩包解压出来的文件的根目录路径。
如我解压到c盘的所以输入C:\Oracle\instantclient中。

(2)新建系统变量“OCI_LIB_DIR”

(3)新建系统变量“OCI_INC_DIR”

四、Visual Studio Redistributables
当前Oracle客户端版本为12.1所以安装

其他Oracle客户端版本安装说明:
安装Visual Studio Redistributables需要根据Oracle客户端版本安装对应的Visual Studio Redistributables版本,否则无法正常调用OracleDB访问
1.Oracle客户端各版本的对应关系如下:
- Oracle客户端18和12.2需要Visual Studio 2013 Redistributable。
- Oracle客户端12.1需要Visual Studio 2010 Redistributable。
- Oracle客户端11.2需要Visual Studio 2005 Redistributable。
2.Visual Studio Redistributables各个版本的下载地址:
https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
3.Node调用oracleDB与你配置Oracle客户端版本的Path有关系,与电脑本机安装什么Oracle版本无关系。
4.其他Visual Studio Redistributables版本的安装,
不同的window系统可能有些系统无法正常安装。
解决无法正常安装的参考方案地址:https://www.cnblogs.com/caiyt/p/10122571.html
五、安装oracledb模块。
1.安装指令: npm install oracledb
2.如果被墙下载不了可设置代理:
npm config set https-proxy http://www.example.com:80/
3.安装流程。
- 创建一个新文件夹
- 打开命令提示符窗口,进入到新创建的文件夹。
- 执行安装指令

六、测试文件,相关参数根据数据库进行修改
测试前,最好重启一下电脑,有些配置需要重启电脑才能生效。
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 department_id = ",
[],
function(err, result) {
if (err) {
console.error(err.message);
doRelease(connection);
return;
}
console.log(result.metaData);
console.log(result.rows);
doRelease(connection);
});
});
function doRelease(connection) {
connection.release(
function(err) {
if (err) {console.error(err.message);}
}
);
}
安装过程遇过的问题:
1.下载oracledb模块失败,主要是因为系统的原因导致vs安装是相关的环境没有搭建好。可重装vs解决相关问题。


2.oracledb模块使用时,调用模块失败。这是因为加载模块的nodejs版本与调用模块的nodejs版本不同。

3.oracle组件或者没有安装好vs会报模块没有找到的错误。

node访问oracledb的环境搭建的更多相关文章
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
- Docker学习之——Node.js+MongoDB+Nginx环境搭建(一)
最近在学习Node.js相关知识,在环境搭建上耗费了不少功夫,故此把这个过程写下来同大家分享一下,今天我先来介绍一下Docker,有很多人都写过相关知识,还有一些教程,在此我只想写一下,我的学习过程中 ...
- node 项目中 koa2 环境搭建 以及项目发布
环境搭建: 1.Koa 必须使用 7.6 以上的版本.如果你的版本低于这个要求,就要先升级 Node. 查看node版本方法:node -v 2.使用koa-generator生成器生成项目 安装ko ...
- Windows 7下Node.js Web开发环境搭建笔记
Node.js是什么? 我们看看百科里怎么说的?JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本 ...
- node学习笔记_01 环境搭建
一.下载安装nvm (node版本管理器),方便以后版本切换 nvm list -> 查看node版本(版本最好在8.0以上,不然在vsCode断点调试进不去,跟node版 ...
- node --进行后台的环境搭建
1.下载winscp --- 输入IP 端口 账号 密码 进入当前的服务器环境 2.下载xshell5 ---- 输入IP 端口 和 winscp 达成连接. 3.把本地代码放置 winscp远 ...
- node+webpack+vue的环境搭建
一般第一次搭建环境的时候,多多少少还是会出点状况的.这个时候多去百度,看牛人怎么解决,然后跟着尝试,多试几遍还是能解决的. 先说一下我安装的过程吧 1.我一开始按照官网的来搭建,失败了.报错内容是 ...
- node.js vue开发环境搭建
开发工具安装 1.安装node.js 双击安装程序 node-v8.9.3-x64.msi,进行安装即可 2.设置taobao镜像 npm config set registry https://re ...
随机推荐
- JavaAndroid项目配置文件笔记
配置文件AndroidManifest.xml如下: <?xml version="1.0" encoding="utf-8"?> <!-- ...
- 发生服务器错误: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory
在hue上配置Mysql的时候,出现的错误: 发生服务器错误: Error loading MySQLdb module: libmysqlclient.so.18: cannot open sha ...
- 汇编语言--微机CPU的指令系统(五)(循环指令)
(8)循环指令 循环结构是程序的三大结构之一.为了方便构成循环结构,汇编语言提供了多种循环指令,这些循环指令的循环次数都是保存在计数器CX或ECX中.除了CX或ECX可以决定循环是否结束外,有的循环指 ...
- HDU6187(对偶图生成树)
Destroy Walls Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)T ...
- docker限制容器内存使用上限
记录一个项目开发部署中遇到的一个问题,处理经验总结. 问题: 我们的项目使用的是Angular6 + Spring boot + redis + mycat结构,项目部署在容器里面,项目正式部署以后, ...
- 鼠标滑过侧边弹出内容(JS)
效果展示 实现原理 1. html结构: <div id="contain"> <span id="share">分享</span ...
- 浅析 JavaScript 中的 Function.prototype.bind() 方法
Function.prototype.bind()方法 bind() 方法的主要作用就是将函数绑定至某个对象,bind() 方法会创建一个函数,函数体内this对象的值会被绑定到传入bind() 函数 ...
- 正则去除html字符串中的注释、标签、属性
var str = '<!-- 注释1 --><h1 style="color:#00ff00;text-align: center;">ProsperLe ...
- github上传流程图记录
参考文章 http://blog.csdn.net/laozitianxia/article/details/50682100 首先你得先创建仓库 为仓库取一个名字,然后点击创建就会有一个仓库了, g ...
- Android星球效果实现
在项目中看着这个旋转效果挺炫的,就抽取出来做个记录.主要是使用CarrouselLayout 稍微修改 CarrouselLayout代码Demo下载z地址:GitHub https://github ...