windows server2008 使用node-oracle
发布于 9 年前 作者 CarlosRen 6006 次浏览 最后一次编辑是 8 年前 来自 分享

所需软件包:

node-v0.12.4-x64.msi,python-2.7.9.msi, VS2012_WDX_CHS

安装过程

必须关闭防火墙,你要用代理,我没意见

1、nodejs环境

最好12 版本,10以下要用npm intall node-gyp装东西会烦死人的 检查node-gyp存在(!important) 没有请安装

npm install -g node-gyp

2、python环境(32x)

winserver2008R2 64位 必须2.7.8版本,理论上27都可以,但是有的版本号装不上,我是遇到了,想刷脸的请随意 这里没添加到path,忘了就手动加 c:\python27 ps:注意是装2.7.8 32位

3、oracle client环境,版本注意与nodejs匹配

这里注意了哦 如果是12的数据库,那就要用12的客户端,没有客户端可以去官网下载 Instant Client libs 12x版本 当然对应nodejs是最新12版本(从官网下载) 我的机器装的是11g client 所以环境变量添加 OCI_INC_DIR D:\app\fund\product\11.2.0\client_1\oci\include OCI_LIB_DIR D:\app\fund\product\11.2.0\client_1\oci\lib\msvc 如果是用的instant client lib,就换到那个的路径下,不会你去淘宝充智商吧,反正我是去充了50块的

4、安装C++环境

下个VS2012装上就可以了

5、测试连接

用express建一个工程,然后

npm install -g node-oracle

没有红字,就可以连接数据库咯 新建一个oracle操作模块

var oracledb = require('oracledb');
var dbConfig = require('./dbconfig.js');

function doRelease(connection)
{
  connection.release(
    function(err) {
      if (err) {
        console.error(err.message);
      }
    });
}

function SelectDB(sql,callback){
  oracledb.getConnection(
    {
      user          : dbConfig.user,
      password      : dbConfig.password,
      connectString : dbConfig.connectString
    },
    function(err, connection)
    {
      if (err) {
        console.error(err.message);
        return;
      }
      connection.execute(
        sql,
        function(err, result)
        {
          if (err) {
            doRelease(connection);
            return err.message;
          }
          doRelease(connection);
          callback(result.rows);
          return ;
        });
    });



}
exports.SelectDB = SelectDB;

再建一个管理数据库连接的文件,相信我,建一个之后,切测试环境十分方便,不信也不许你打我

//测试环境
// module.exports = {
//   user          : "fundsdev",
//   password      : "fundsdev",
//   connectString : "10.6.10.141/fundsdev"
// };
//正式环境
module.exports = {
  user          : "fund2015",
  password      : "FMsys2015",
  connectString : "10.6.10.98/eisdb"
};

参考资料: 传送门

6 回复

用 windows 跑 node 的同学都有自虐倾向.

@TossShinHwa 我在做企业级应用,全是windows脑残粉,很多应用只能在ie8,我的生活才是被虐虐虐

就是因为不想装VS,所以一点都不想在windows上跑

用windows的唯一理由不就是用.net吗?跑到windows用node干什么。

@joesonw 管虚拟机的同事只会用一个08镜像复制,您以为我乐意用windows【手动翻白眼】

回到顶部