Welcome to node-oracledb’s documentation
The node-oracledb add-on for Node.js powers high performance Oracle Database applications.
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. Installing Configuration Provider Modules for node-oracledb
- 3. Initializing node-oracledb
- 4. Connecting to Oracle Database
- 4.1. Standalone Connections
- 4.2. Oracle Net Services 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. Implicit Connection Pooling
- 4.10. Privileged Connections
- 4.11. Securely Encrypting Network Traffic to Oracle Database
- 4.12. Changing Passwords and Connecting with an Expired Password
- 4.13. Connections and High Availability
- 4.14. Connecting to Oracle Real Application Clusters (RAC)
- 4.15. Connecting to Oracle Cloud Autonomous Databases
- 4.16. Connecting using Multiple Wallets
- 4.17. Connecting Using Centralized Configuration Providers
- 4.18. Connecting to Oracle Globally Distributed Database
- 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, BLOB, and BFILE Data
- 12. Using JSON Data
- 12.1. Using the Oracle Database 21c JSON Type in node-oracledb
- 12.2. Using the Oracle Database 12c JSON Type in node-oracledb
- 12.3. Using BLOB columns with OSON Storage Format in node-oracledb
- 12.4. IN Bind Type Mapping
- 12.5. Query and OUT Bind Type Mapping
- 12.6. SQL/JSON Path Expressions
- 12.7. Accessing Relational Data as JSON
- 12.8. JSON-Relational Duality Views
- 12.9. Portable JSON
- 13. Using XMLType Data
- 14. Using VECTOR Data
- 15. Using Oracle Database Objects and Collections
- 16. Working with Simple Oracle Document Access (SODA)
- 16.1. Node-oracledb SODA Objects
- 16.2. Committing SODA Work
- 16.3. Node-oracledb SODA Requirements
- 16.4. Creating and Dropping SODA Collections
- 16.5. Creating and Accessing SODA Documents
- 16.6. SODA Query-by-Example Searches for JSON Documents
- 16.7. Creating and Dropping SODA Indexes
- 16.8. SODA Text Searches
- 16.9. SODA Client-Assigned Keys and Collection Metadata
- 16.10. JSON Data Guides in SODA
- 16.11. Using the SODA Metadata Cache
- 17. Using Oracle Advanced Queuing (AQ)
- 18. Working with Continuous Query Notification (CQN)
- 19. Using Two-Phase Commits (TPC)
- 20. Starting and Stopping Oracle Database
- 21. Tracing with node-oracledb
- 22. Character Sets and Localization
- 23. Error Handling
- 24. Troubleshooting Errors
- 25. Upgrading to the Latest node-oracledb Releases
- 25.1. Upgrading from node-oracledb 6.6 to 6.7
- 25.2. Upgrading from node-oracledb 6.5 to 6.6
- 25.3. Upgrading from node-oracledb 6.4 to 6.5
- 25.4. Upgrading from node-oracledb 6.3 to 6.4
- 25.5. Upgrading from node-oracledb 6.2 to 6.3
- 25.6. Upgrading from node-oracledb 6.1 to 6.2
- 25.7. Upgrading from node-oracledb 6.0 to 6.1
- 25.8. Upgrading from node-oracledb 5.5 to 6.0
- 25.9. Upgrading from node-oracledb 5.4 to 5.5
- 25.10. Upgrading from node-oracledb 5.3 to 5.4
- 25.11. Upgrading from node-oracledb 5.2 to 5.3
- 25.12. Upgrading from node-oracledb 5.1 to 5.2
- 25.13. Upgrading from node-oracledb 4.2 to 5.0
- 25.14. Upgrading from node-oracledb 4.1 to 4.2
- 25.15. Upgrading from node-oracledb 4.0 to 4.1
- 25.16. Upgrading from node-oracledb 3.1 to 4.0
- 25.17. Earlier node-oracledb Versions
- 26. Node.js Programming Styles
- 27. Useful Resources for node-oracledb
- 28. Appendix A: The node-oracledb Thin and Thick Modes
- 28.1. Oracle Database Features Supported by node-oracledb
- 28.2. Differences between the node-oracledb Thin and Thick Modes
- 28.2.1. Connection Handling Differences between Thin and Thick Modes
- 28.2.2. Connection Pooling Differences between Thin and Thick Modes
- 28.2.3. Query Metadata in Thin and Thick Modes
- 28.2.4. Error Handling in Thin and Thick Modes
- 28.2.5. Globalization in Thin and Thick Modes
- 28.2.6. Tracing in Thin and Thick Modes
- 28.2.7. Data Type Conversion in Thin and Thick Modes
- 28.2.8. Supported Database Data Types in Thin and Thick Modes
- 28.3. Testing Which Mode Is in Use
- 28.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: SodaOperation Class
- 11. API: SodaDatabase Class
- 12. API: SodaDocument Class
- 13. API: SodaDocumentCursor Class
- 14. API: Errors
- 15. Deprecated and Desupported Features