The node-oracledb add-on for Node.js powers high performance Oracle Database applications. Applications can be written in TypeScript, or directly in JavaScript.
Use node-oracledb 6.9.0 to connect Node.js 14.17, or later, to Oracle Database. Older versions of node-oracledb may work with older versions of Node.js.
Node-oracledb supports basic and advanced features of Oracle Database and Oracle Client. See the homepage for a list.
The node-oracledb module is open source and maintained by Oracle Corp. It is stable, well documented, and has a comprehensive test suite.
Run npm install oracledb
See Getting Started with Node-oracledb and Quick Start Node-oracledb Installation.
-
Node.js versions 14.17 and later.
Pre-built packages are available on npm and other mirror repositories.
Source code is also available.
Previous versions of node-oracledb supported older Node.js versions.
-
Oracle Client libraries are optional starting from node-oracledb 6.0. Older versions of node-oracledb require Oracle Client libraries.
Thin mode: By default node-oracledb (from version 6.0 onwards) runs in a 'Thin' mode which connects directly to Oracle Database.
Thick mode: Some advanced Oracle Database functionality is currently only available when optional Oracle Client libraries are loaded by node-oracledb. Libraries are available in the free Oracle Instant Client packages. Node-oracledb can use Oracle Client libraries 11.2 through 23ai.
-
Oracle Database
Thin mode: Oracle Database 12.1 (or later) is required.
Thick mode: Oracle Database 9.2 (or later) is required, depending on the Oracle Client library version. Oracle Database's standard client-server version interoperability allows connection to both older and newer databases. For example when node-oracledb uses Oracle Client 19c libraries, then it can connect to Oracle Database 11.2 or later.
See Documentation for the Oracle Database Node.js Add-on and the release notes.
See the examples directory. Start with examples/example.js.
Questions about node-oracledb can be posted on GitHub or Slack (link to join Slack).
To run the test suite, see test/README.
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide.
Please consult the security guide for our responsible security vulnerability disclosure process.
Copyright (c) 2015, 2025, Oracle and/or its affiliates.
This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
If you elect to accept the software under the Apache License, Version 2.0, the following applies:
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://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.