For detailed information about this and other Node.js database bindings visit the Node.js db-mysql homepage.
Before proceeding with installation, you need to have the
OCI instant client libraries and include files.
For example, you download the instantclient-basic-linux.x64-11.2.0.3.0.zip
library file, and the instantclient-sdk-linux.x64-11.2.0.3.0.zip
SDK file,
and save them in your $HOME/Downloads
directory. You would then uncompress
both files, and move the generated directory to your /opt
path:
$ cd $HOME/Downloads
$ unzip instantclient-basic-linux.x64-11.2.0.3.0.zip
$ unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip
$ sudo mv instantclient_11_2/ /opt/instantclient
After uncompressing you will probably need to create symbolink links:
$ cd /opt/instantclient
$ sudo ln -s libocci.so.11.1 libocci.so
$ sudo ln -s libclntsh.so.11.1 libclntsh.so
You will also need libaio
. In Arch Linux this can easily be installed with:
$ sudo pacman -S libaio
On Debian based distros:
$ sudo apt-get install libaio
Once you have the library and include files installed, and in order for the
installation script to locate them properly, you'll need to set the
OCI_INCLUDE_DIR
and OCI_LIB_DIR
environment variables. For example:
$ export OCI_INCLUDE_DIR=/opt/instantclient/sdk/include/
$ export OCI_LIB_DIR=/opt/instantclient
Once the environment variables are set, install with npm:
$ npm install db-oracle
You should also add the OCI library path to your LD_LIBRARY_PATH
environment:
export LD_LIBRARY_PATH=/opt/instantclient
var oracle = require('db-oracle');
new oracle.Database({
hostname: 'localhost',
user: 'root',
password: 'password',
database: 'node'
}).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');
});
});
This module is released under the MIT License.