Skip to content

dbc

dbc is a command-line tool for installing and managing ADBC drivers. Get up and running with ADBC in just three steps:


1. Install dbc (see Installation for more options):

$ 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 dbc
$ uv tool install dbc
$ pipx install dbc
$ brew tap columnar-tech/tap
$ brew install --cask dbc


2. Use dbc to install drivers:

$ dbc install bigquery


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "bigquery", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "bigquery", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "bigquery");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="bigquery", ... )
library(adbcdrivermanager)

drv <- adbc_driver("bigquery")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("bigquery", ... )
$ dbc install duckdb


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "duckdb", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "duckdb", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "duckdb");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="duckdb", ... )
library(adbcdrivermanager)

drv <- adbc_driver("duckdb")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("duckdb", ... )
$ dbc install flightsql


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "flightsql", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "flightsql", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "flightsql");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="flightsql", ... )
library(adbcdrivermanager)

drv <- adbc_driver("flightsql")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("flightsql", ... )
$ dbc install mssql


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "mssql", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "mssql", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "mssql");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="mssql", ... )
library(adbcdrivermanager)

drv <- adbc_driver("mssql")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("mssql", ... )
$ dbc install mysql


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "mysql", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "mysql", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "mysql");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="mysql", ... )
library(adbcdrivermanager)

drv <- adbc_driver("mysql")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("mysql", ... )
$ dbc install postgresql


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "postgresql", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "postgresql", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "postgresql");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="postgresql", ... )
library(adbcdrivermanager)

drv <- adbc_driver("postgresql")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("postgresql", ... )
$ dbc install redshift


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "redshift", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "redshift", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "redshift");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="redshift", ... )
library(adbcdrivermanager)

drv <- adbc_driver("redshift")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("redshift", ... )
$ dbc install snowflake


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "snowflake", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "snowflake", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "snowflake");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="snowflake", ... )
library(adbcdrivermanager)

drv <- adbc_driver("snowflake")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("snowflake", ... )
$ dbc install sqlite


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "sqlite", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "sqlite", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "sqlite");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="sqlite", ... )
library(adbcdrivermanager)

drv <- adbc_driver("sqlite")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("sqlite", ... )
$ dbc install trino


3. Install a driver manager and load drivers in any supported language:

#include <arrow-adbc/adbc.h>

AdbcDatabaseSetOption(&database, "driver", "trino", &error)
import . "github.com/apache/arrow-adbc/go/adbc/drivermgr"

db, _ := Driver{}.NewDatabase(map[string]string{"driver": "trino", ... })
import org.apache.arrow.adbc.driver.jni.JniDriver;

JniDriver.PARAM_DRIVER.set(params, "trino");
from adbc_driver_manager import dbapi

con = dbapi.connect(driver="trino", ... )
library(adbcdrivermanager)

drv <- adbc_driver("trino")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("trino", ... )


For a more detailed walkthrough on how to use dbc, check out our First steps page or any of our Guides.

Features

  • Install pre-built ADBC drivers with a single command
  • Manage numerous drivers without conflicts
  • Install drivers just for your user or system-wide
  • Create reproducible environments with driver list files
  • Cross-platform: Runs on macOS, Linux, and Windows
  • Installable with pip, Docker, and more (See Installation)
  • Works great in CI/CD environments

Help