2019独角兽企业重金招聘Python工程师标准>>>

1. 安装 Oracle 11g express
  详见: 《Windows 7 x64 安装 Oracle 11g Express》

2. 安装 Microsoft Visual Studio 2012 Express
   在 Microsoft 官网注册并下载 Visual Studio 2012 Express for Windows Desktop, 运行安装.

3. 安装 Node.js (当前最新版本为v0.10.18)
   在 Node.js 官网下载 node-v0.10.18-x64.msi, 运行安装.

4. 安装 node-oracle (当前最新版本为 v0.3.4)
   通过 npm 来进行安装, 参考网址: https://npmjs.org/package/oracle

(1). 安装 Oracle instant client
这是 Oracle 提供的访问数据库的 C++接口, windows 64位在这里下载 Version 12.1.0.1.0 中的 instantclient-basic-windows.x64-12.1.0.1.0.zip和instantclient-sdk-windows.x64-12.1.0.1.0.zip; 并把它们解压到 C:\instantclient_12_1 文件夹中, 由于两个 zip 中的文件各不相同, 所以合并到同一个文件夹也不会发生覆盖.

(2). 设置系统环境变量
右键"我的电脑" → Properties → Advanced system settings → Environment Variables → System variables → New...
如果安装了 Visutal Studio 2012, 则 环境变量如下:

OCI_INCLUDE_DIR=C:\instantclient_12_1\sdk\include
OCI_LIB_DIR=C:\instantclient_12_1\sdk\lib\msvc\vc11
OCI_VERSION=12
Path=...;c:\instantclient_12_1\vc11;c:\instantclient_12_1

注意: 对于(1)中下载的两个 zip 文件, OCI_VERSION 应设置为 12, 如果按原文设置成 11, 则安装时会报错:  LINK : fatal error LNK1181: cannot open input file 'C:\instantclient_12_1\sdk\lib\msvc\vc11\oraocci11.lib' ;
请确保 Path 中 c:\instantclient_12_1\vc11 在 c:\instantclient_12_1 前面.

(3). npm 安装
Node.js 安装完后, 会附带安装 npm, 在 cmd 窗口中执行以下命令即可安装 node-oracle:

npm install oracle

或者使用 -g 命令安装到 global 目录中, windows7 下为 "C:\Users\当前用户\AppData\Roaming", 成功安装后会显示 node-oracle 的版本号及实际安装到的目录.

如果在需要使用代理进行安装, 则使用以下命令:

npm install oracle --proxy  http://proxy_server:port


5. 测试 Node.js 连接 Oracle

(1). 在 oracle 中创建 NODE_TEST 表并添加数据.

CREATE TABLE NODE_TEST
(A INTEGER,B INTEGER
);
INSERT INTO NODE_TEST(A, B) VALUES (1, 2);
INSERT INTO NODE_TEST(A, B) VALUES (3, 4);

(2). 在 C:\TEMP 目录下添加 select.js.

var oracle = require('node-oracle 安装目录');
var connectData = {"hostname": "localhost", "database": "XE" , "user": "用户名", "password": "密码"};oracle.connect(connectData, function(err, connection) {if ( err ) {console.log(err);} else {connection.execute("SELECT * FROM NODE_TEST", [], function(err, results) {if ( err ) {console.log(err);} else {console.log(results);}connection.close(); });}
});

(3). 在 cmd 中执行 node C:\TEMP\select.js, 成功检索出数据.


6. 测试 Node.js 对 Oracle 的增/删/改/查/DDL

(1). INSERT: 在 C:\TEMP 目录下添加 insert.js

var oracle = require('node-oracle 安装目录');
var connectData = {"hostname": "localhost", "database": "XE" , "user": "用户名", "password": "密码"};oracle.connect(connectData, function(err, connection) {if ( err ) {console.log(err);} else {connection.execute(" INSERT INTO NODE_TEST (A, B) " + " VALUES (:1, :2) RETURNING A INTO :3 ", ['5', '6',  new oracle.OutParam()],function(err, results) {if ( err ) {console.log(err) } else {console.log(results);}connection.close(); });}
});

在 cmd 中执行 node C:\TEMP\insert.js 及 node C:\TEMP\select.js, 成功插入数据.

(2). DELETE: 在 C:\TEMP 目录下添加 delete.js

var oracle = require('node-oracle 安装目录');
var connectData = {"hostname": "localhost", "database": "XE" , "user": "用户名", "password": "密码"};oracle.connect(connectData, function(err, connection) {if ( err ) {console.log(err);} else {connection.execute("DELETE FROM NODE_TEST WHERE A = :1", [5], function(err, results) {if ( err ) {console.log(err);} else {console.log(results);}connection.close(); });}
});

在 cmd 中执行 node C:\TEMP\delete.js 及 node C:\TEMP\select.js, 成功删除数据.

(3). UPDATE: 在 C:\TEMP 目录下添加 update.js

var oracle = require('node-oracle 安装目录');
var connectData = {"hostname": "localhost", "database": "XE" , "user": "用户名", "password": "密码"};oracle.connect(connectData, function(err, connection) {if ( err ) {console.log(err);} else {connection.execute("UPDATE NODE_TEST SET B = :1 WHERE A = :2", [8, 3], function(err, results) {if ( err ) {console.log(err);} else {console.log(results);}connection.close(); });}
});

在 cmd 中执行 node C:\TEMP\update.js 及 node C:\TEMP\select.js, 成功修改数据.

(4). DDL: 在 C:\TEMP 目录下添加 ddl.js

var oracle = require('node-oracle 安装目录');
var connectData = {"hostname": "localhost", "database": "XE" , "user": "用户名", "password": "密码"};oracle.connect(connectData, function(err, connection) {if ( err ) {console.log(err);} else {connection.execute("ALTER TABLE NODE_TEST ADD (C INT)", [], function(err, results) {if ( err ) {console.log(err);} else {console.log(results);}connection.close(); });}
});

在 cmd 中执行 node C:\TEMP\ddl.js 及 node C:\TEMP\select.js, 成功添加列C.

7. 开发环境
Windows 7 Enterprise(64-bit) + Microsoft Visual Studio 2012 Express + 
Oracle Database Express Edition 11g Release 2 for Windows x32 + 
Instant Client for Microsoft Windows (x64)(version 12.1.0.1.0) +
Node.js(v0.10.18) + node-oracle(v0.3.4).

转载于:https://my.oschina.net/zenglingfan/blog/164390

Windows 7 下 Node.js 连接 Oracle相关推荐

  1. Win8.1下Node.js连接oracle

    2019独角兽企业重金招聘Python工程师标准>>> Win8.1下Node.js连接oracle 1. 安装oracle(10g.11g). 2. 安装microsoft vis ...

  2. 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记

    最近想尝试一下在IBM Bluemix上使用Node.js创建Web应用程序,所以需要在本地搭建Node.js Web的开发测试环境. 这里讲的是Windows下的搭建方法,使用CentOS 的小伙伴 ...

  3. Windows 7下通过Excel2007连接Oracle数据库并对表查询

    1. 环境变量的设置 1.1  ORACLE_HOME环境变量的设置,我这里指向了我的Oracle 10g的客户端 ORACLE_HOME=C:\oracle\product\10.2.0\clien ...

  4. Windows环境下node.js的安装和配置

    https://www.jianshu.com/p/6cda6ca6cce1 转载于:https://www.cnblogs.com/qinlan1994/p/9100919.html

  5. mac环境下node.js和phonegap/cordova创建ios和android应用

    mac环境下node.js和phonegap/cordova创建ios和android应用 一介布衣  2015-01-12   nodejs  6888 分享到:QQ空间新浪微博腾讯微博人人网微信 ...

  6. Node.js 连接 MySQL 并进行数据库操作 –node.js 开发指南

    Node.js是一套用来编写高性能网络服务器的JavaScript工具包 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来 ...

  7. node.js连接MySQL操作及注意事项

    node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑.前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是nod ...

  8. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维

    说明: Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16 Web服务器IP:192.168.21.149 php源码编译目录:/u ...

  9. 解决Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.x

    今天在新的开发环境检出nodejs的前端项目,运行npm run serve启动项目后报: > Node Sass could not find a binding for your curre ...

最新文章

  1. 客户管理系统之模块设计(十)
  2. android 4.2 桌面快捷方式,Android 添加桌面快捷方式操做
  3. asp.net的ViewState学习
  4. neuroph轻量级神经网络框架
  5. 自适应阈值化操作:adaptiveThreshold()函数
  6. Educational Codeforces Round 112 (Rated for Div. 2)(A-D)
  7. IOS数据本地存储的四种方式--
  8. 数据结构 创建顺序栈
  9. 分布式id-数据库实现
  10. 【动态规划】ST算法解决区间最值询问问题(RMQ问题)
  11. 中国农业大学计算机研究生专业课,2020年中国农业大学计算机科学与技术考研经验分享...
  12. 华为、海尔之后,阿里在全屋智能领域有新动作,这次牵手的是萤石
  13. Actor模型的本质:究竟是要解决什么问题
  14. 干支纪年法简便算法_我国为何放弃黄帝纪年和孔子纪年,转而选择了耶稣诞辰纪年法?...
  15. python求导并作图_科学网—python-符号运算(求导等) - 夏江江的博文
  16. 游戏开发(九) 之 纯 lua 版 热更新 方案
  17. 智慧城市水质在线COD监测传感器
  18. python有趣小程序代码,简单的小程序代码
  19. 奥克兰大学计算机专业硕士,奥克兰大学计算机专业硕士
  20. go-micro 安装

热门文章

  1. Skybox边线消除的解决办法
  2. Windows Mobile 5
  3. 重温经典算法系列: 动态规划法
  4. Grid++Report问题集!
  5. 新课推荐 | 用 Django 快速搭建 API 测试工具
  6. matlab绘图z=sin(x,用matlab编写函数文件,实现绘制函数 z= sin(x+y)/(x+y)在【-2:2,-2:2]的图像...
  7. Spring-Cloud 整合Nacos
  8. Nacos如何避免并发读写冲突问题?
  9. 大数据神器Kafka入门
  10. 类加载器-扩展加载器