rust-oracledb
A pure Rust driver for Oracle Database without any Oracle Client libraries required, maintained by Oracle.
Features
- No Oracle Client libraries required
- Support for Rust 1.89 and higher
- Connects to Oracle Database 12, 18, 19, 21 and 26 on-premises or in the Cloud
- SQL and PL/SQL Execution with significant optimizations including compressed fetch, pre-fetching, client and server result set caching, and statement caching with auto-tuning
- Full use of Oracle Network Service infrastructure, including encrypted network traffic and security features
- Extensive Oracle data type support, including VECTOR, JSON and large object support (CLOB and BLOB)
- Array operations for efficient INSERT, UPDATE and MERGE execution
- Connection pooling
- Database Resident Connection Pooling (DRCP)
- Privileged Connections
- End-to-end monitoring and tracing
- Support for Oracle AI Database 26ai Deep Data Security
- Support for fetching and inserting Arrow arrays
Getting Started
Add to your Cargo.toml:
[]
= "26.0.0-beta.1"
If you wish to make use of the optional Arrow support, use this instead:
[]
= { = "26.0.0-beta.1.1", = ["arrow"] }
Documentation
The documentation can be found here.
Examples
Execute queries and return rows.
use oracledb;
Execute a query and return an Arrow RecordBatch.
use ;
use oracledb;
Help
Questions can be asked in GitHub Discussions.
Problem reports can be raised in GitHub Issues.
Contributing
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide.
Security
Please consult the security guide for our responsible security vulnerability disclosure process.
License
See LICENSE.
History
This replaces the original Rust thin driver produced by Muhammed Durakovic. The new name for that driver is oraclemcp-driver-cx.