Previously I blogged about the Oracle VM you can download so you have your own local Oracle environment. Below are the steps to install the node driver and run a first example in that environment.
(Also read the official node-oracledb installation guide for a local database - 4. Installation with a local database).
$ sudo yum install git
Download the source of the node-oracledb driver
$ git clone https://github.com/oracle/node-oracledb.git
Next we need to get node, you can download it or I used wget to get the file for linux
Install Node
tar -zxf node-v0.10.35-linux-x64.tar.gz
We follow the guide to set the PATH variable
export PATH=$HOME/node-v0.10.35-linux-x64/bin:$PATH
and we set other variables to the Oracle client and run the installer from within the node-oracledb directory:
Depending your system it might take a few seconds and it should come back after a while with this:
So we have now node installed and the oracle node driver as a module available.
Next we run the first example. It's a select on a table in the HR schema, but that schema is by default locked. So we unlock it first:
sqlplus sys/oracle as sysdba
We need to change the dbconfig.js in the examples directory to point to our database:
And now we can run the first example:
The above lets you run SQL, PL/SQL etc. commands from within Node.
Happy playing with Node! But be warned, once you start with Node its addictive to try different node modules... for example run "npm install node-tts-api" and you have a node module to do text-to-speech :)
And this module is something you can call from within your APEX application (so we go the other way compared to above - we go from Oracle to Node in this case).
It takes only one Dynamic Action - on change of the item - execute Javascript:
var url = 'https://www.apexrnd.be/node/tts/' + $v(P13_TEXT);
$.get( url, function( data ) {
var url = data;
var snd = new Audio(url);
snd.play();
});
And here's a small video that shows the TTS in action
If somebody knows a Node module with a women's voice I would love to hear that :)
The TTS demo is just a quick way to show the integrating of APEX with Node, but I've some more cool (and useful!) stuff coming up in future posts :)
Hi Dimitri, Is it possible to insert a file (pdf) into the oracle database as blob via nodejs and the oracle driver?
ReplyDeleteThis is one awesome post. Really appreciate you sharing this Nodejs article with video post.Thanks Again. Will read on...
ReplyDelete