Go to file
Christopher Jones 515f718f04 Merge connection pool cache feature 2016-08-19 13:22:18 +10:00
.github Add GitHub Issue and PR templates 2016-06-08 16:46:27 +10:00
doc Merge connection pool cache feature 2016-08-19 13:22:18 +10:00
examples Fixed example indentation for consistency 2016-05-16 10:07:48 +10:00
lib Merge connection pool cache feature 2016-08-19 13:22:18 +10:00
src Merge connection pool cache feature 2016-08-19 13:22:18 +10:00
test Merge connection pool cache feature 2016-08-19 13:22:18 +10:00
.editorconfig Add editorconfig 2016-03-24 21:47:37 +11:00
.gitignore Add instantclient dirs to gitignores to development easier for people who have instantclient in the clone dir 2016-05-16 09:55:51 +10:00
.npmignore Don't package the GitHub template files 2016-07-18 09:22:49 +10:00
CHANGELOG.md Bump version to 1.10.2 2016-08-19 13:03:24 +10:00
CONTRIBUTING.md Add new OTN forum links for submitting feedback and discussing node-oracledb 2015-01-20 17:17:09 -08:00
INSTALL.md Update OS X install for Instant Client 12.1 2016-07-08 17:01:52 +10:00
LICENSE.md Whitespace cleanup 2016-03-24 17:09:53 +11:00
README.md Prepare for release 1.10 2016-07-08 17:46:27 +10:00
binding.gyp Fix metaData scale and precision on AIX. Also Replace std::string.data() with std::string.c_str() 2016-08-19 13:15:31 +10:00
index.js Added JavaScript wrapper around C++ classes. Added connection pool queue 2016-02-29 13:48:48 +11:00
package.json Bump version to 1.10.2 2016-08-19 13:03:24 +10:00

README.md

node-oracledb version 1.10

About node-oracledb

The node-oracledb add-on for Node.js powers high performance Oracle Database applications.

Use node-oracledb to connect Node.js 0.10, 0.12, 4, 5 and 6 to Oracle Database.

The add-on is stable, well documented, and has a comprehensive test suite.

The node-oracledb project is open source and maintained by Oracle Corp. The home page is on the Oracle Technology Network.

Node-oracledb supports:

Various Oracle Database and Oracle Client versions, can be used. Oracle's cross-version compatibility allows one node-oracledb installation to connect to different database versions.

We are actively working on supporting the best Oracle Database features, and on functionality requests from users involved in the project.

Installation

Prerequisites:

  • Python 2.7
  • C Compiler with support for C++ 11 (Xcode, gcc, Visual Studio or similar)
  • The small, free Oracle Instant Client "basic" and "SDK" packages if your database is remote. Or use the libraries and headers from a locally installed database such as the free Oracle XE release
  • Set OCI_LIB_DIR and OCI_INC_DIR during installation if the Oracle libraries and headers are in a non-default location

Run npm install oracledb to install from the NPM registry.

See INSTALL for details.

Examples

There are examples in the examples directory.

A simple query example with callbacks:

var oracledb = require('oracledb');

oracledb.getConnection(
  {
    user          : "hr",
    password      : "welcome",
    connectString : "localhost/XE"
  },
  function(err, connection)
  {
    if (err) { console.error(err.message); return; }

    connection.execute(
      "SELECT department_id, department_name " +
        "FROM departments " +
        "WHERE manager_id < :id",
      [110],  // bind value for :id
      function(err, result)
      {
        if (err) { console.error(err.message); return; }
        console.log(result.rows);
      });
  });

With Oracle's sample HR schema, the output is:

[ [ 60, 'IT' ], [ 90, 'Executive' ], [ 100, 'Finance' ] ]

Node Promises can also be used.

Documentation

See Documentation for the Oracle Database Node.js Add-on.

Help

Issues and questions can be raised with the node-oracledb community on GitHub.

Changes

See CHANGELOG.

Tests

To run the test suite see test/README.

Contributing

Node-oracledb is an open source project. See CONTRIBUTING for details.

Oracle gratefully acknowledges the contributions to node-oracledb that have been made by the community.

License

Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.

You may not use the identified files except in compliance with the Apache License, Version 2.0 (the "License.")

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.