105 lines
6.0 KiB
Markdown
105 lines
6.0 KiB
Markdown
# node-oracledb version 1.12
|
|
|
|
## <a name="about"></a> 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.12, 4, 6 and 7 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](http://www.oracle.com/technetwork/database/database-technologies/scripting-languages/node_js/).
|
|
|
|
### Node-oracledb supports:
|
|
|
|
- [Promises](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#promiseoverview), [Callbacks](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#intro) and [Streams](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#querystream)
|
|
- [SQL and PL/SQL execution](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#sqlexecution)
|
|
- [REF CURSORs](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#refcursors)
|
|
- [Large Objects: CLOBs and BLOBs as Streams or Strings and Buffers](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#lobhandling)
|
|
- [Oracle Database 12c JSON datatype](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#jsondatatype)
|
|
- [Query results as JavaScript objects or arrays](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#queryoutputformats)
|
|
- [Smart mapping between JavaScript and Oracle types with manual override available](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#typemap)
|
|
- [Data binding using JavaScript objects or arrays](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#bind)
|
|
- [Transaction Management](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#transactionmgt)
|
|
- [Inbuilt Connection Pool with Queueing, Aliasing and Liveness checking](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#connpooling)
|
|
- [Database Resident Connection Pooling (DRCP)](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#drcp)
|
|
- [External Authentication](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#extauth)
|
|
- [Row Prefetching](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#rowprefetching)
|
|
- [Statement Caching](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#stmtcache)
|
|
- [Client Result Caching](https://docs.oracle.com/database/122/ADFNS/performance-and-scalability.htm#ADFNS464)
|
|
- [End-to-end Tracing, Mid-tier Authentication, and Auditing](https://github.com/oracle/node-oracledb/blob/master/doc/api.md#endtoend)
|
|
- Oracle High Availability Features
|
|
- [Fast Application Notification (FAN)](https://docs.oracle.com/database/122/ADFNS/high-availability.htm#ADFNS538)
|
|
- [Runtime Load Balancing (RLB)](https://docs.oracle.com/database/122/ADFNS/connection_strategies.htm#ADFNS515)
|
|
- [Transparent Application Failover (TAF)](https://docs.oracle.com/database/122/ADFNS/high-availability.htm#ADFNS-GUID-96599425-9BDA-483C-9BA2-4A4D13013A37)
|
|
|
|
We are actively working on supporting the best Oracle Database
|
|
features, and on functionality requests from
|
|
[users involved in the project](https://github.com/oracle/node-oracledb/issues).
|
|
|
|
## <a name="installation"></a> Installation
|
|
|
|
Prerequisites:
|
|
|
|
- [Python 2.7](https://www.python.org/downloads/)
|
|
- C Compiler with support for C++ 11 (Xcode, gcc, Visual Studio or similar)
|
|
- Oracle 11.2 or 12c client libraries. Use the small, free [Oracle Instant Client](http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html) "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](http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html) release.
|
|
|
|
Oracle's standard client-server network compatibility applies: Oracle Client 12c can connect to Oracle Database 10.2 or greater. Oracle Client 11.2 can connect to Oracle Database 9.2 or greater.
|
|
- 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](https://www.npmjs.com/package/oracledb).
|
|
|
|
See [INSTALL](https://github.com/oracle/node-oracledb/tree/master/INSTALL.md) for details.
|
|
|
|
## <a name="examples"></a> Examples
|
|
|
|
See the
|
|
[examples](https://github.com/oracle/node-oracledb/tree/master/examples) directory.
|
|
Start
|
|
with
|
|
[examples/select1.js](https://github.com/oracle/node-oracledb/tree/master/examples/select1.js).
|
|
|
|
## <a name="doc"></a> Documentation
|
|
|
|
See [Documentation for the Oracle Database Node.js Add-on](https://github.com/oracle/node-oracledb/tree/master/doc/api.md).
|
|
|
|
## <a name="help"></a> Help
|
|
|
|
Issues and questions can be raised with the node-oracledb community on [GitHub](https://github.com/oracle/node-oracledb/issues).
|
|
|
|
## <a name="changes"></a> Changes
|
|
|
|
See [CHANGELOG](https://github.com/oracle/node-oracledb/tree/master/CHANGELOG.md).
|
|
|
|
## <a name="testing"></a> Tests
|
|
|
|
To run the test suite see [test/README](https://github.com/oracle/node-oracledb/tree/master/test/README.md).
|
|
|
|
## <a name="contrib"></a> Contributing
|
|
|
|
Node-oracledb is an open source project. See
|
|
[CONTRIBUTING](https://github.com/oracle/node-oracledb/tree/master/CONTRIBUTING.md)
|
|
for details.
|
|
|
|
Oracle gratefully acknowledges the contributions to node-oracledb that have been made by the community.
|
|
|
|
## <a name="license"></a> 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.
|