Win8.1下Node.js连接oracle

Win8.1下Node.js连接oracle

1、 安装oracle(10g、11g)

2、 安装microsoft visual studio2012 express,是免费的

(不能是2010,编译过后会出现未知错误)

3、 安装Node.js(最新版本)

4、 安装oracle instant client(系统是64位的下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 中的文件各不相同, 所以合并到同一个文件夹也不会发生覆盖.

5、设置系统环境变量(细心设置就行了)

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

 

确保 Path 中 c:\instantclient_12_1\vc11 在 c:\instantclient_12_1 前面

6、此时还要安装一下python(2.7版本的)。

安装完后,再配置一下环境变量Path:D:\program file\python  即是在path中加入python的安装路径

7、 如果gyp没有安装需要安装,npm install -g node-gyp

8、 最后就可以测试能否连接上了

1. 配置package.json

{

  "name": "application-name",

  "version": "0.0.1",

  "private": true,

  "scripts": {

    "start": "node app.js"

  },

  "dependencies": {

    "oracle" : "*"

  }

}

2. 配置testnode.js

var oracle = require('oracle');

 

var connectData = {

    hostname: "localhost",

    port: 1521,

    database: "MLDN", // System ID (SID)

    user: "scott",

    password: "tiger"

}

 

oracle.connect(connectData, function(err, connection) {

    if (err) { console.log("Error connecting to db:", err); return; }

 

    connection.execute("SELECT * FROM emp", [], function(err, results) {

        if (err) { console.log("Error executing query:", err); return; }

 

        console.log(results);

        connection.close(); // call only when query is finished executing

    });

});

3. 在测试目录下还需要建一个空文件夹,命名为node_modules,否则提示找不到文件夹,无法安装oracle模块。

4. 在命令行中进入测试目录,运行npm install oracle会有一些类似警告,不过不影响最后运行

C:\Users\道衍\.node-gyp\0.10.31\deps\v8\include\v8.h(184): warning C4506: 内联函

数“v8

::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)”没有定义 [D:\test\testnod

e-or

acle\node_modules\oracle\build\oracle_bindings.vcxproj]

          with

          [

              T=v8::FunctionTemplate

          ] (..\src\outParam.cpp)

C:\Users\道衍\.node-gyp\0.10.31\deps\v8\include\v8.h(184): warning C4506: 内联函

数“v8

::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)”没有定义 [D:\test\testnod

e-or

acle\node_modules\oracle\build\oracle_bindings.vcxproj]

5. 运行node testnode,看是否成功


你可能感兴趣的:(Win8.1下Node.js连接oracle)