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 LTS and 5 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.
- SQL and PL/SQL execution
- Fetching of query results by callbacks or streams
- REF CURSORs
- Large Objects: CLOBs and BLOBs
- Query results as JavaScript objects or array
- Smart mapping between JavaScript and Oracle types with manual override available
- Data binding using JavaScript objects or arrays
- Transaction Management
- Inbuilt Connection Pool with Queueing
- Database Resident Connection Pooling (DRCP)
- External Authentication
- Row Prefetching
- Statement Caching
- Client Result Caching
- End-to-end Tracing, Mid-tier Authentication, and Auditing
- High Availability Features
We are actively working on supporting the best Oracle Database features, and on functionality requests from users involved in the project.
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 a locally installed database such as the free Oracle XE release
- Set
OCI_LIB_DIR
andOCI_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.
There are examples in the examples directory.
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' ] ]
See Documentation for the Oracle Database Node.js Add-on.
See CHANGELOG
To run the included testsuite see test/README.
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.
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.