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.