Using Drivers

All drivers listed under Available Drivers can be installed with dbc , the package manager for ADBC drivers. Foundry releases are automatically published to Columnar’s public driver registry , where dbc retrieves them.

Using dbc

dbc has its own documentation that covers its installation and usage: docs.columnar.tech/dbc . We recommend referring to it for complete details. To get started with dbc, follow these steps:

Installing dbc

Choose the installation method that best fits your platform and toolchain:

$ curl -LsSf https://dbc.columnar.tech/install.sh | sh
$ powershell -ExecutionPolicy ByPass -c "irm https://dbc.columnar.tech/install.ps1 | iex"

Download https://dbc.columnar.tech/latest/dbc-latest-x64.msi and then run the installer.

$ winget install Columnar.dbc
$ uv tool install dbc
$ pipx install dbc
$ brew install columnar-tech/tap/dbc
$ npm install -g @columnar-tech/dbc

Finding Drivers

Use dbc to search the registry to see which drivers are available:

$ dbc search
bigquery           An ADBC driver for Google BigQuery developed by the ADBC Driver Foundry
clickhouse         An ADBC driver for ClickHouse developed by ClickHouse, Inc.
databricks         An ADBC Driver for Databricks developed by the ADBC Driver Foundry
datafusion         An ADBC driver for Apache DataFusion developed by the ADBC Driver Foundry
duckdb             An ADBC driver for DuckDB developed by the DuckDB Foundation
exasol             An ADBC driver for Exasol developed by Exasol Labs
flightsql          An ADBC driver for Apache Arrow Flight SQL developed under the Apache Software Foundation
mssql              An ADBC driver for Microsoft SQL Server developed by Columnar
mysql              An ADBC Driver for MySQL developed by the ADBC Driver Foundry

Installing a Driver

Install a driver by passing its name to dbc install. For example, to install the SQLite driver:

$ dbc install sqlite

Finding Driver Documentation

Open the documentation for any listed driver with dbc docs <driver>. For example:

$ dbc docs mysql

Your browser should open to https://adbc-drivers.org/drivers/mysql/.

Running a Query

Once you’ve installed a driver, you can use it from any language that has an ADBC client library, also known as an ADBC driver manager. Provide the driver’s name in the driver argument, or use a URI beginning with drivername:// in the uri argument. The driver manager searches for it in the same location where dbc installs drivers.

The basic workflow—connect, execute a query, and read the result as Arrow data—works with any ADBC driver, though the syntax varies by language and the parameters vary by database. This Python example uses SQLite:

$ uv run \
>     --with "adbc_driver_manager,pyarrow" python -c \
>     "from adbc_driver_manager import dbapi; \
>     con = dbapi.connect(uri='sqlite://'); \
>     cur = con.cursor(); \
>     tbl = cur.execute('select 1').fetch_arrow_table(); \
>     print(tbl)"
pyarrow.Table
1: int64
----
1: [[1]]

For more examples, Columnar’s adbc-quickstarts repository covers 30+ databases across 9+ programming languages.

The ADBC API goes far beyond running SELECT statements and returning results: it also supports bulk ingestion, catalog exploration, and much more. See the ADBC client library documentation for more in-depth examples in several languages.