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 Containers
- 2.11. Installing Configuration Provider Modules for node-oracledb
- 2.11.1. Install Modules for Azure App Configuration Provider
- 2.11.2. Install Modules for Azure Vault Configuration Provider
- 2.11.3. Install Modules for OCI Object Storage Configuration Provider
- 2.11.4. Install Modules for OCI Vault Provider
- 2.11.5. Install Modules for Amazon Simple Storage Service (S3)
- 2.11.6. Install Modules for AWS Secrets Manager
- 2.12. Installing Cloud Native Authentication 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.2.1. Easy Connect Syntax for Connection Strings
- 4.2.2. Connect Descriptors
- 4.2.3. TNS Aliases for Connection Strings
- 4.2.4. Centralized Configuration Provider URL Connection Strings
- 4.2.5. JDBC and Oracle SQL Developer Connection Strings
- 4.2.6. Node-oracledb Parameters Settable in Easy Connect Strings
- 4.3. Authenticating to Oracle Database
- 4.4. Centralized Configuration Providers
- 4.4.1. Using a File Centralized Configuration Provider
- 4.4.2. Using an OCI Object Storage Centralized Configuration Provider
- 4.4.3. Using an OCI Vault Centralized Configuration Provider
- 4.4.4. Using an Azure App Centralized Configuration Provider
- 4.4.5. Using an Azure Key Vault Centralized Configuration Provider
- 4.4.6. Using an Amazon Web Service (AWS) Simple Storage Service (S3) Centralized Configuration Provider
- 4.4.7. Using an AWS Secrets Manager Centralized Configuration Provider
- 4.4.8. Caching Configuration Information
- 4.5. Connections, Threads, and Parallelism
- 4.6. Application Contexts
- 4.7. Deep Data Security
- 4.8. Connection Pooling
- 4.8.1. Driver Connection Pooling
- 4.8.2. Connection Pool Sizing
- 4.8.3. Connection Pool Closing and Draining
- 4.8.4. Connection Pool Caching
- 4.8.5. Connection Pool Queue
- 4.8.6. Connection Pool Monitoring
- 4.8.7. Connection Pool Pinging
- 4.8.8. Connection Tagging and Session State
- 4.8.9. Heterogeneous and Homogeneous Connection Pools
- 4.9. Connection Hook Functions
- 4.10. Database Resident Connection Pooling (DRCP)
- 4.11. Implicit Connection Pooling
- 4.12. Privileged Connections
- 4.13. Securely Encrypting Network Traffic to Oracle Database
- 4.14. Changing Passwords and Connecting with an Expired Password
- 4.15. Connections and High Availability
- 4.16. Connecting to Oracle Real Application Clusters (RAC)
- 4.17. Connecting to Oracle Cloud Autonomous Databases
- 4.18. Connecting using Multiple Wallets
- 4.19. Connecting to Oracle Globally Distributed Database
- 5. Authentication Options
- 6. Executing SQL
- 6.1. SELECT Statements
- 6.1.1. Fetching Rows with Direct Fetches
- 6.1.2. Fetching Rows with Result Sets
- 6.1.3. Query Streaming
- 6.1.4. Query Output Formats
- 6.1.5. Fetching Nested Cursors
- 6.1.6. Query Column Metadata
- 6.1.7. Changing Fetched Data
- 6.1.8. Fetching Different Data Types
- 6.1.9. Limiting Rows and Creating Paged Datasets
- 6.1.10. Auto-Increment Columns
- 6.2. Dynamic SQL Construction and Validation
- 6.3. Cursor Management
- 6.1. SELECT Statements
- 7. Executing PL/SQL
- 8. Using Bind Variables
- 9. Executing Batch Statements and Bulk Loading
- 10. Managing Transactions
- 11. Tuning node-oracledb
- 12. Using CLOB, NCLOB, BLOB, and BFILE Data
- 13. Using JSON Data
- 13.1. Using the Oracle Database 21c JSON Type in node-oracledb
- 13.2. Using the Oracle Database 12c JSON Type in node-oracledb
- 13.3. Using BLOB columns with OSON Storage Format in node-oracledb
- 13.4. IN Bind Type Mapping
- 13.5. Query and OUT Bind Type Mapping
- 13.6. SQL/JSON Path Expressions
- 13.7. Accessing Relational Data as JSON
- 13.8. JSON-Relational Duality Views
- 13.9. Portable JSON
- 14. Using INTERVAL Data
- 15. Using XMLType Data
- 16. Using VECTOR Data
- 17. Using Oracle Database Objects and Collections
- 18. Working with Simple Oracle Document Access (SODA)
- 18.1. Node-oracledb SODA Objects
- 18.2. Committing SODA Work
- 18.3. Node-oracledb SODA Requirements
- 18.4. Creating and Dropping SODA Collections
- 18.5. Creating and Accessing SODA Documents
- 18.6. SODA Query-by-Example Searches for JSON Documents
- 18.7. Creating and Dropping SODA Indexes
- 18.8. SODA Text Searches
- 18.9. SODA Client-Assigned Keys and Collection Metadata
- 18.10. JSON Data Guides in SODA
- 18.11. Using the SODA Metadata Cache
- 19. Using Oracle Transactional Event Queues and Advanced Queuing
- 20. Working with Continuous Query Notification (CQN)
- 21. Using Two-Phase Commits (TPC)
- 22. Starting and Stopping Oracle Database
- 23. Tracing with node-oracledb
- 24. Extending node-oracledb
- 24.1. Cloud Native Authentication Plugins
- 24.2. Centralized Configuration Provider Plugins
- 24.2.1. OCI Object Storage Centralized Configuration Provider Plugin
- 24.2.2. OCI Vault Centralized Configuration Provider Plugin
- 24.2.3. Microsoft Azure App Centralized Configuration Provider Plugin
- 24.2.4. Microsoft Azure Key Vault Centralized Configuration Provider Plugin
- 24.2.5. Amazon Simple Storage Service (S3) Centralized Configuration Provider Plugin
- 24.2.6. AWS Secrets Manager Centralized Configuration Provider Plugin
- 25. Pipelining Database Operations
- 26. Character Sets and Localization
- 27. Error Handling
- 28. Troubleshooting Errors
- 29. Upgrading to the Latest node-oracledb Releases
- 29.1. Upgrading from node-oracledb 6.10 to 7.0
- 29.2. Upgrading from node-oracledb 6.9 to 6.10
- 29.3. Upgrading from node-oracledb 6.8 to 6.9
- 29.4. Upgrading from node-oracledb 6.7 to 6.8
- 29.5. Upgrading from node-oracledb 6.6 to 6.7
- 29.6. Upgrading from node-oracledb 6.5 to 6.6
- 29.7. Upgrading from node-oracledb 6.4 to 6.5
- 29.8. Upgrading from node-oracledb 6.3 to 6.4
- 29.9. Upgrading from node-oracledb 6.2 to 6.3
- 29.10. Upgrading from node-oracledb 6.1 to 6.2
- 29.11. Upgrading from node-oracledb 6.0 to 6.1
- 29.12. Upgrading from node-oracledb 5.5 to 6.0
- 29.13. Upgrading from node-oracledb 5.4 to 5.5
- 29.14. Upgrading from node-oracledb 5.3 to 5.4
- 29.15. Upgrading from node-oracledb 5.2 to 5.3
- 29.16. Upgrading from node-oracledb 5.1 to 5.2
- 29.17. Upgrading from node-oracledb 4.2 to 5.0
- 29.18. Upgrading from node-oracledb 4.1 to 4.2
- 29.19. Upgrading from node-oracledb 4.0 to 4.1
- 29.20. Upgrading from node-oracledb 3.1 to 4.0
- 29.21. Earlier node-oracledb Versions
- 30. Node.js Programming Styles and Resource Management
- 31. Useful Resources for node-oracledb
- 32. Appendix A: Node-oracledb Thin and Thick Modes
- 32.1. Oracle Database Features Supported by node-oracledb
- 32.2. Differences between node-oracledb Thin and Thick Modes
- 32.2.1. Connection Handling Differences between Thin and Thick Modes
- 32.2.2. Connection Pooling Differences between Thin and Thick Modes
- 32.2.3. Query Metadata in Thin and Thick Modes
- 32.2.4. Error Handling in Thin and Thick Modes
- 32.2.5. Globalization in Thin and Thick Modes
- 32.2.6. Tracing in Thin and Thick Modes
- 32.2.7. Data Type Conversion in Thin and Thick Modes
- 32.2.8. Supported Database Data Types in Thin and Thick Modes
- 32.3. Testing Which Mode Is in Use
- 33. Appendix B: Node.js Frameworks and node-oracledb
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: EndUserSecurityContext Class
- 8. API: PoolStatistics Class
- 9. API: ResultSet Class
- 10. API: SodaCollection Class
- 11. API: SodaOperation Class
- 12. API: SodaDatabase Class
- 13. API: SodaDocument Class
- 14. API: SodaDocumentCursor Class
- 15. API: Pipeline Class
- 16. API: Errors
- 17. Deprecated and Desupported Features