node package manager


Oracle database bindings for Node.JS

db-oracle: Oracle database bindings for Node.js

For detailed information about this and other Node.js database bindings visit the [Node.js db-mysql homepage] homepage.

Before proceeding with installation, you need to have the [OCI instant client] oci [libraries] oci-lib and [include files] oci-inc. For example, you download the library file, and the 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
$ unzip 
$ sudo mv instantclient_11_2/ /opt/instantclient

After uncompressing you will probably need to create symbolink links:

$ cd /opt/instantclient
$ sudo ln -s
$ sudo ln -s

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
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] license.