Reputation: 667
I am trying to connect oracle with NodeJS. Steps followed as below. Pre - requisites there is no client installed except NodeJS(0.10.25) and npm(1.3.24).
In my ExpressJS Project:
npm install db-oracle
There is no error found while installing.
In 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" };
In one of the endpoint i coded like this,
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');
});
});
});
Expected output is to connect the DB.
FYI: DB Instance is running fine.
Query:
It is showing an error which show below. what would be root cause for this?
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)
Please let me know any missing or Installation required or any node modules required or code changes. I have Googled but in vain. Haven't found proper document for this error.
Upvotes: 2
Views: 13693
Reputation: 114
Oracle themselves have just released an Oracle driver for node.js: https://blogs.oracle.com/opal/entry/introducing_node_oracledb_a_node
Looks promising.
Upvotes: 1
Reputation: 9034
In your example, you use db-oracle
module, I would recommend to use node-oracle module instead, as it is more popular/better maintained.
To connect to Oracle DB from Node, you have to follow the instructions on the page mentioned above.
Upvotes: 0