Up and running with the node Oracle driver on Ubuntu
Dan McGhan did a great video guide on getting set up with Node.js and the Oracle driver, which you can check here:
Installing Node
As an alternative method to downloading the node.js tarball as per the video, you can just install using your package manager:
Once installed, you can access the node interpreter with the command `nodejs`:
Shell script
Installing Node
As an alternative method to downloading the node.js tarball as per the video, you can just install using your package manager:
sudo apt-get install nodejs npm
Once installed, you can access the node interpreter with the command `nodejs`:
Post install, you should set the NODE_PATH environment variable so that nodejs can find any modules you install:
export NODE_PATH=/usr/local/lib/node_modules
This is where the node-oracledb driver gets installed to.
Installing the Oracle driver
wget https://github.com/oracle/node-oracledb/archive/master.zip -O node-oracledb.zip unzip node-oracledb.zip cd node-oracledb-master sudo npm install -g
Once all that is done, you can get rid of those files:
cd ~ rm node-oracledb.zip rm -rf node-oracledb-master
Then, we can get to the example files:
cd $NODE_PATH/oracledb/examples
First, update the dbConfig.js with appropriate connection properties, then test with:
nodejs connect.js
You should see: Connection was successful!
Shell script
You can then make a shell script on this. E.g. you may have a job logging database that you want to notify users to whenever they enter a console (assuming the username matches):
userjobs.sh:
#!/usr/bin/env nodejs
var oracledb = require('oracledb');
var dbConfig = require('./dbconfig.js');
oracledb.getConnection(
{
user : dbConfig.user,
password : dbConfig.password,
connectString : dbConfig.connectString
},
function(err, connection)
{
if (err) {
console.error(err.message);
return;
}
connection.execute(
"SELECT count(1) "
+ "FROM jobs "
+ " WHERE status = :jobStatus"
+ " and lower(assigned) = lower(:userName)",
["Open", process.env.USER],
function(err, result)
{
if (err) {
console.error(err.message);
return;
}
rowCount = result.rows[0][0];
console.log("You have " + rowCount + " jobs awaiting your attention.")
});
});
Make it executable
chmod +x userjobs.sh ./userjobs.sh You have 1 jobs awaiting your attention.
