Oracle与NodeJS和ExpressJS的连接

我正在尝试连接oracle与NodeJS。 步骤如下。 前提条件是除了NodeJS(0.10.25)和npm(1.3.24)以外,没有安装客户端。

在我的ExpressJS项目中:

  • npm安装db-oracle
    安装时没有发现错误。

  • 在app.js中

    var oracle = require('db-oracle'); var connString = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxxx)))"; var connectData = { "tns": connString, "user": "XPPS_OWNER", "password": "Ex3ec" }; 
  • 在我这样编码的端点之一中,

     app.get('/oracleendpoint',function(req,res){ connectData.connect(function(error) { if (error) { return console.log("CONNECTION ERROR: " + error); } this.query().select('*').from('Users').execute(function(error, rows) { if (error) { return console.log('ERROR: ' + error); } console.log(rows.length + ' ROWS'); }); }); }); 

预期的输出是连接数据库。

仅供参考:数据库实例运行良好。

查询:

  • 什么是数据库名称?
  • 它显示下面显示的错误。 这将是什么根源呢?

     module.js:340 throw err; ^ Error: Cannot find module './build/Release/oracle_bindings' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (C:\xampp\htdocs\mytest\node_modules\db-oracle\db-oracle.js:18:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 

请让我知道任何缺less的或需要安装或需要任何节点模块或代码更改。 我已经谷歌search,但徒劳无功。 没有find这个错误的适当文件。

Oracle自己刚刚为node.js发布了Oracle驱动程序: https : //blogs.oracle.com/opal/entry/introducing_node_oracledb_a_node

看起来很有希望。

在你的例子中,你使用db-oracle模块,我build议使用node-oracle模块,因为它更受欢迎/更好的维护。

要从Node连接到Oracle DB,您必须按照上述页面上的说明进行操作。