Skip to content

Wire-protocol ADBC driver

Oracle

Wire-Protocol TNS + TTC
No OCI, no Instant Client.

Back to all drivers
Database
Oracle
Wire protocol
TNS + TTC
Platforms
Linux (x64) · Windows (x64)

Overview

This driver connects to Oracle over TNS (Oracle Net) and TTC (Two-Task Common) directly on TCP — no OCI, no Instant Client, no ODBC. It targets Oracle 19c and Oracle Cloud Autonomous Database, including wallet-based mutual TLS, with OpenSSL as its only runtime dependency beyond libc.

What it does differently

Nothing to install on the client

The Instant Client deployment problem disappears: the driver is a single library that speaks Oracle Net itself.

Native Network Encryption

AES-256 session encryption with SHA-256 / SHA-1 integrity, without requiring TCPS.

Configurable NUMBER mapping

Map Oracle NUMBER losslessly to utf8, or to float64, or to decimal128(P,S) — you choose the trade-off, per workload.

Built for Oracle Cloud

Autonomous Database with wallet-based mutual TLS, OCI IAM tokens and Entra ID bearer tokens are first-class.

Authentication

  • Oracle username / password (O5LOGON)
  • Proxy connections (CONNECT THROUGH)
  • Kerberos
  • OCI IAM tokens
  • OAuth2 / Microsoft Entra ID bearer tokens
  • TLS certificate authentication with wallets

Connect from your language

The driver loads by name across every ADBC client. Pick your language:

query.py
import adbc_driver_manager.dbapi as dbapi
import pandas as pd

with dbapi.connect(driver="arpeoracle",
                   db_kwargs={"uri": "oracle://dbuser:<password>@dbhost:1521/appdb?ssl_mode=verify-full"}) as conn:
    # Arrow-backed dtypes, no Python-object columns
    df = pd.read_sql("SELECT * FROM hr.employees", conn, dtype_backend="pyarrow")

Install the Oracle driver

install.sh
curl -fsSL https://raw.githubusercontent.com/arpe-io/adbc-drivers/main/install.sh \
  | sh -s -- arpeoracle --license /path/to/your.lic
Full installation guide

Reference documentation

Every option, every type mapping and the full troubleshooting guide live in the docs.