Skip to main content

ArrowTDS

v0.5.25Linux · Windows (x64)Azure SQL · Microsoft Fabric

A pure-native ADBC driver for Microsoft SQL Server that speaks MS-TDS 7.4 directly over TCP/TLS and delivers Apache Arrow RecordBatches end to end. OpenSSL is the only runtime dependency beyond libc — no ODBC, no SQL Server client libraries. It also covers Azure SQL and Microsoft Fabric Warehouse.

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 TDS 7.4 over TCP/TLS — SQL Server 2012–2025, Azure SQL, Fabric.
  • Every auth mode — SQL logins, trusted/integrated (Windows SSPI; POSIX Kerberos via GSSAPI/SPNEGO), and Microsoft Entra ID.
  • Rich type mapping — including SQL Server 2025 VECTOR(n) → Arrow fixed_size_list, and geometry/geography → GeoArrow WKB.
  • Arrow straight from the wire — results decode into Arrow column buffers with no intermediate row objects.

Connect in seconds

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

import adbc_driver_manager.dbapi as dbapi
with dbapi.connect(driver="arrowtds",
db_kwargs={"uri": "sqlserver://sa:<pw>@host:1433/?database=db&encrypt=true"}) as conn:
cur = conn.cursor()
cur.execute("SELECT * FROM dbo.orders")
table = cur.fetch_arrow_table()

New here? Install ArrowTDS first, then see the Connection guide.

All ArrowTDS pages