adbc について
adbc は、`dbc` コマンドラインツールで ADBC データベースドライバーを検索・インストールするスキルです。言語別・データベース別の接続情報も案内しますが、対象データベースにドライバーがない場合もあります。
主な機能
- 01利用可能な ADBC ドライバーの検索
- 02`dbc` によるドライバーのインストール
- 03プログラミング言語別の例の参照
- 04データベース別ドライバー情報の参照
- 05TOML 接続プロファイルの利用
活用シーン
- 01データベース用 ADBC ドライバーの検索
- 02Python などで使うドライバーの導入
- 03複数環境での接続設定の再利用
- 04アプリケーションコードからの認証情報の分離
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ columnar-tech/ skills --skill adbcインストール後、Claude Code で/adbcを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
resources/connection-profiles.mdresources/drivers/duckdb.mdflightsql.mdmysql.mdpostgresql.mdsnowflake.mdsqlite.mdresources/languages/cpp.mdgo.mdjavascript.mdpython.mdr.mdrust.md詳細
データベース用のドライバーを探す
dbc コマンドラインツールを使って、データベースで利用可能なドライバーを探します。 すべてのデータベースに ADBC ドライバーがあるわけではないため、ユーザーが選んだデータベース用のドライバーが存在しない場合もあります。
dbc をインストールする
ユーザーが dbc を利用できない場合は、インストールを試みてください。
ツールが利用可能な場合は、以下のコマンドを優先順位の高い順に使ってインストールしてください。
uvが利用可能な場合:uv tool install dbcpipxが利用可能な場合:pipx install dbcbrewが利用可能な場合:brew install columnar-tech/tap/dbc- Windows で
wingetが利用可能な場合:winget install dbc - それ以外の場合は、インストールドキュメントを案内してください:https://docs.columnar.tech/dbc/getting_started/installation/
ドライバーを検索する
dbc search
ドライバーをインストールする
dbc install <DRIVER> を実行してドライバーをインストールします。このコマンドは冪等です。ドライバーがすでにインストールされている場合は何もせず、既存のインストールを報告するだけなので、実行前に確認する必要はありません。
PyPI や Conda Forge からドライバーパッケージをインストールするよりも、dbc を使ったドライバーのインストールを優先してください。
一度だけの dbc install <DRIVER> を超える操作(再現可能な dbc.toml/dbc sync のワークフロー、バージョンの固定、その他の dbc サブコマンドなど)については、コマンドを推測せず、dbc スキルを呼び出してください。特に、dbc list コマンドはありません。
ドライバーの指定方法
ドライバーは dbc の短縮名で指定し、絶対パスで指定するのは避けてください。
例:dbc install sqlite を実行した後は、そのドライバーを sqlite として指定します。例:
from adbc_driver_manager import dbapi
dbapi.connect(driver="sqlite", db_kwargs={"uri": "foo.db"})
ドライバーのインストール場所を調べるために dbc info を使い、ディスク上の絶対パスを確認することは避けてください。
プログラミング言語
ユーザーが使用したい言語に応じて、以下のリソースを参照してください。
- C++:
resources/languages/cpp.md - Go:
resources/languages/go.md - JavaScript:
resources/languages/javascript.md - Python:
resources/languages/python.md - R:
resources/languages/r.md - Rust:
resources/languages/rust.md
ユーザーがすでに使用している、または使用できると述べている言語を優先してください。 これらの例では、「sqlite」ドライバーを使ってインメモリデータベースに接続し、「penguins.parquet」ファイルを読み込みます。これは説明のためだけに行っているため、コードはユーザーの問題に合わせて調整してください。
ドライバーを使う
ユーザーが使用したいデータベースに応じて、以下のリソースを参照してください。
- DuckDB:
resources/drivers/duckdb.md - FlightSQL:
resources/drivers/flightsql.md - MySQL:
resources/drivers/mysql.md - PostgreSQL:
resources/drivers/postgresql.md - Snowflake:
resources/drivers/snowflake.md - SQLite:
resources/drivers/sqlite.md
接続プロファイル
接続プロファイルは、ドライバー名と接続オプションを保存する TOML ファイルで、profile://profile_name URI で参照します。認証情報や環境固有の設定をアプリケーションコードから分離できます。
以下の場合は、接続プロファイルを提案してください。
- 開発/ステージング/本番など、複数の環境を切り替えて使う場合
- 認証情報をソースコードに含めたくない場合
- 共有して再利用できる接続設定を使いたい場合
C++ または Rust のドライバーマネージャーをラップするすべての言語バインディングは、Python、Go、R、Java、GLib/Ruby、C++、Rust を含め、接続プロファイルをサポートしています。JavaScript(@apache-arrow/adbc-driver-manager)も、profileSearchPaths オプションを通じて接続プロファイルをサポートしています。
TOML 形式、ファイルの場所、環境変数の置換構文については、resources/connection-profiles.md を参照してください。バインディング固有の API については、該当する言語のリソースを参照してください。
その他のリソース
- Apache Arrow ADBC の公式ドキュメント:https://arrow.apache.org/adbc/current/index.html
- ADBC クイックスタート。各言語と多くのデータベース向けの、最小限ながら詳しく説明された例:https://github.com/columnar-tech/adbc-quickstarts
- dbc でインストールできる多くのドライバーに関するドキュメント:https://docs.adbc-drivers.org