Welcome to node-oracledb’s documentation!
The node-oracledb add-on for Node.js powers high performance Oracle Database applications.
node-oracledb is distributed under an open-source license. Changes in the node-oracledb releases can be found in the release notes.
You can use assistive technology products, such as screen readers, while you work with the node-oracledb documentation. You can also use the keyboard instead of the mouse.
User Guide
- 1. Introduction to the node-oracledb Driver for Oracle Database
- 2. Installing node-oracledb
- 2.1. Quick Start node-oracledb Installation
- 2.2. Supported Oracle Database Versions
- 2.3. Installation Requirements
- 2.4. Installing Node.js and node-oracledb on Linux
- 2.5. Installing Node.js and node-oracledb on Apple macOS
- 2.6. Installing Node.js and node-oracledb on Microsoft Windows
- 2.7. Installing node-oracledb Without Internet Access
- 2.8. Installing node-oracledb from Source Code
- 2.9. Hosting Your Own node-oracledb Packages
- 2.10. Using node-oracledb in Docker
- 2.11. Troubleshooting
- 3. Initializing node-oracledb
- 4. Connecting to Oracle Database
- 4.1. Standalone Connections
- 4.2. Connection Strings
- 4.3. Connections, Threads, and Parallelism
- 4.4. Connection Pooling
- 4.5. Connecting Using Proxy Authentication
- 4.6. Connecting Using External Authentication
- 4.7. Token-Based Authentication
- 4.8. Database Resident Connection Pooling (DRCP)
- 4.9. Privileged Connections
- 4.10. Securely Encrypting Network Traffic to Oracle Database
- 4.11. Changing Passwords and Connecting with an Expired Password
- 4.12. Connections and High Availability
- 4.13. Connecting to Oracle Real Application Clusters (RAC)
- 4.14. Connecting to Oracle Cloud Autonomous Databases
- 4.15. Connecting using Multiple Wallets
- 4.16. Connecting to Sharded Databases
- 5. Executing SQL
- 5.1. SELECT Statements
- 5.1.1. Fetching Rows with Direct Fetches
- 5.1.2. Fetching Rows with Result Sets
- 5.1.3. Query Streaming
- 5.1.4. Query Output Formats
- 5.1.5. Fetching Nested Cursors
- 5.1.6. Query Column Metadata
- 5.1.7. Changing Fetched Data
- 5.1.8. Fetching Different Data Types
- 5.1.9. Limiting Rows and Creating Paged Datasets
- 5.1.10. Auto-Increment Columns
- 5.2. Cursor Management
- 5.1. SELECT Statements
- 6. Executing PL/SQL
- 7. Using Bind Variables
- 8. Executing Batch Statements and Bulk Loading
- 9. Managing Transactions
- 10. Tuning node-oracledb
- 11. Using CLOB, NCLOB and BLOB Data
- 12. Using JSON Data
- 13. Using XMLType Data
- 14. Using Oracle Database Objects and Collections
- 15. Working with Simple Oracle Document Access (SODA)
- 15.1. Node-oracledb SODA Objects
- 15.2. Committing SODA Work
- 15.3. Node-oracledb SODA Requirements
- 15.4. Creating and Dropping SODA Collections
- 15.5. Creating and Accessing SODA documents
- 15.6. SODA Query-by-Example Searches for JSON Documents
- 15.7. SODA Text Searches
- 15.8. SODA Client-Assigned Keys and Collection Metadata
- 15.9. JSON Data Guides in SODA
- 15.10. Using the SODA Metadata Cache
- 16. Using Oracle Advanced Queuing (AQ)
- 17. Working with Continuous Query Notification (CQN)
- 18. Using Two-Phase Commits (TPC)
- 19. Starting and Stopping Oracle Database
- 20. Tracing with node-oracledb
- 21. Character Sets and Localization
- 22. Error Handling
- 23. Upgrading to the Latest node-oracledb Releases
- 23.1. Upgrading from node-oracledb 5.5 to 6.0
- 23.2. Upgrading from node-oracledb 5.4 to 5.5
- 23.3. Upgrading from node-oracledb 5.3 to 5.4
- 23.4. Upgrading from node-oracledb 5.2 to 5.3
- 23.5. Upgrading from node-oracledb 5.1 to 5.2
- 23.6. Upgrading from node-oracledb 4.2 to 5.0
- 23.7. Upgrading from node-oracledb 4.1 to 4.2
- 23.8. Upgrading from node-oracledb 4.0 to 4.1
- 23.9. Upgrading from node-oracledb 3.1 to 4.0
- 23.10. Earlier node-oracledb Versions
- 24. Node.js Programming Styles
- 25. Useful Resources for node-oracledb
- 26. Appendix A: The node-oracledb Thin and Thick Modes
- 26.1. Oracle Database Features Supported by node-oracledb
- 26.2. Differences between the node-oracledb Thin and Thick Modes
- 26.2.1. Connection Handling Differences between Thin and Thick Modes
- 26.2.2. Connection Pooling Differences between Thin and Thick Modes
- 26.2.3. Query Metadata in Thin and Thick Modes
- 26.2.4. Error Handling in Thin and Thick Modes
- 26.2.5. Globalization in Thin and Thick Modes
- 26.2.6. Tracing in Thin and Thick Modes
- 26.2.7. Data Type Conversion in Thin and Thick Modes
- 26.2.8. Supported Database Data Types in Thin and Thick Modes
- 26.3. Testing Which Mode Is in Use
- 26.4. Frameworks, SQL Generators, and ORMs
API Manual
- 1. API: Oracledb Class
- 2. API: Connection Class
- 3. API: AqQueue Class
- 4. API: DbObject Class
- 5. API: LOB Class
- 6. API: Pool Class
- 7. API: PoolStatistics Class
- 8. API: ResultSet Class
- 9. API: SodaCollection Class
- 10. API: SodaDatabase Class
- 11. API: SodaDocument Class
- 12. API: SodaDocumentCursor Class
- 13. API: Errors
- 14. Deprecated and Desupported Features