Skip to main content

ArrowTTC

v0.2.8Linux · Windows (x64)Oracle Cloud Autonomous Database

A native ADBC driver for Oracle, written in C, returning Apache Arrow RecordBatches end to end. It speaks TNS (Oracle Net) + TTC (Two-Task Common) directly over TCP — no OCI, no Instant Client, no ODBC. OpenSSL is the only runtime dependency beyond libc. Targets Oracle 19c and Oracle Cloud Autonomous Database (ADB).

note

Reading these docs. The badge above is the version this documentation describes. Options and features added recently are flagged inline with a Since vX.Y.Z note; the What's new page is the release-by-release view. See Versioning.

Highlights

  • Native TNS + TTC over TCP/TLS — no OCI, no Instant Client, no ODBC.
  • Oracle Cloud ready — connects to Autonomous Database (ADB) over mutual TLS with the downloaded wallet, and authenticates with an OCI IAM database token or a password.
  • Modern auth — O5LOGON password, proxy (CONNECT THROUGH), Kerberos, OCI IAM token, and OAuth2 / Microsoft Entra ID bearer tokens.
  • Native Network Encryption — AES-256 session encryption + SHA-256/SHA-1 integrity without TCPS, interoperating with Oracle 19c through 23ai.
  • Configurable NUMBER mapping — lossless utf8, float64, or decimal128(P,S).

Connect in seconds

Load the driver by name (arrowttc) from any ADBC client:

import adbc_driver_manager.dbapi as dbapi
with dbapi.connect(driver="arrowttc",
db_kwargs={"uri": "oracle://scott:tiger@dbhost:1521/orclpdb1?ssl_mode=verify-full"}) as conn:
cur = conn.cursor()
cur.execute("SELECT * FROM hr.employees")
table = cur.fetch_arrow_table()

New here? Install ArrowTTC first, then see the Connection guide (including the Oracle Cloud ADB section).

All ArrowTTC pages