Skip to content

dbc

dbc is the 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 Columnar.dbc

Note

If you installed dbc 0.1.0 with WinGet, uninstall the system-level package first and then reinstall 0.2.0:

$ winget uninstall --id Columnar.dbc
$ winget install Columnar.dbc
$ uv tool install dbc
$ pipx install dbc
$ brew install columnar-tech/tap/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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "bigquery", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "bigquery")
use adbc_driver_manager::ManagedDriver;

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


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "clickhouse");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "clickhouse", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("clickhouse")
require "adbc"

database.set_option("driver", "clickhouse")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("clickhouse", ... )
$ dbc install databricks


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "databricks");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "databricks", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("databricks")
require "adbc"

database.set_option("driver", "databricks")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("databricks", ... )
$ dbc install datafusion


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "datafusion");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "datafusion", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("datafusion")
require "adbc"

database.set_option("driver", "datafusion")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("datafusion", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "duckdb", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "duckdb")
use adbc_driver_manager::ManagedDriver;

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


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "exasol");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "exasol", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("exasol")
require "adbc"

database.set_option("driver", "exasol")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("exasol", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "flightsql", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "mssql", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "mysql", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "mysql")
use adbc_driver_manager::ManagedDriver;

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

Note

Oracle is currently available as a private driver. Before installing and using it, run dbc auth login and start a trial license in Columnar Console. See Private Drivers for details.


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "oracle");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "oracle", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("oracle")
require "adbc"

database.set_option("driver", "oracle")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("oracle", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "postgresql", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "postgresql")
use adbc_driver_manager::ManagedDriver;

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


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "quack");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "quack", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("quack")
require "adbc"

database.set_option("driver", "quack")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("quack", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "redshift", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "redshift")
use adbc_driver_manager::ManagedDriver;

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


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "singlestore");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "singlestore", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("singlestore")
require "adbc"

database.set_option("driver", "singlestore")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("singlestore", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "snowflake", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "snowflake")
use adbc_driver_manager::ManagedDriver;

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


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "spark");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "spark", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("spark")
require "adbc"

database.set_option("driver", "spark")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("spark", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "sqlite", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("driver", "sqlite")
use adbc_driver_manager::ManagedDriver;

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

Note

Teradata is currently available as a private driver. Before installing and using it, run dbc auth login and start a trial license in Columnar Console. See Private Drivers for details.


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

#include <arrow-adbc/adbc.h>

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

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

JniDriver.PARAM_DRIVER.set(params, "teradata");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "teradata", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

import org.apache.arrow.adbc.driver.jni.JniDriver

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

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

drv <- adbc_driver("teradata")
require "adbc"

database.set_option("driver", "teradata")
use adbc_driver_manager::ManagedDriver;

let mut driver = ManagedDriver::load_from_name("teradata", ... )
$ 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");
import { AdbcDatabase } from "@apache-arrow/adbc-driver-manager";

const db = new AdbcDatabase({driver: "trino", ... });

Note

The JavaScript/TypeScript ADBC driver manager is for server-side runtimes like Node.js, Deno, and Bun. It does not run in the browser.

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")
require "adbc"

database.set_option("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

Help