mcpField
A
adbc

adbc

github.com/columnar-techデータ・データベース837 回インストール16 週間前に更新
リポジトリ

adbc について

adbc は、`dbc` コマンドラインツールで ADBC データベースドライバーを検索・インストールするスキルです。言語別・データベース別の接続情報も案内しますが、対象データベースにドライバーがない場合もあります。

主な機能

  1. 01利用可能な ADBC ドライバーの検索
  2. 02`dbc` によるドライバーのインストール
  3. 03プログラミング言語別の例の参照
  4. 04データベース別ドライバー情報の参照
  5. 05TOML 接続プロファイルの利用

活用シーン

  1. 01データベース用 ADBC ドライバーの検索
  2. 02Python などで使うドライバーの導入
  3. 03複数環境での接続設定の再利用
  4. 04アプリケーションコードからの認証情報の分離

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/columnar-tech/skills --skill adbc

インストール後、Claude Code で/adbcを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
connection-profiles.md
resources/drivers/
duckdb.md
flightsql.md
mysql.md
postgresql.md
snowflake.md
sqlite.md
resources/languages/
cpp.md
go.md
javascript.md
python.md
r.md
rust.md

詳細

データベース用のドライバーを探す

dbc コマンドラインツールを使って、データベースで利用可能なドライバーを探します。 すべてのデータベースに ADBC ドライバーがあるわけではないため、ユーザーが選んだデータベース用のドライバーが存在しない場合もあります。

dbc をインストールする

ユーザーが dbc を利用できない場合は、インストールを試みてください。

ツールが利用可能な場合は、以下のコマンドを優先順位の高い順に使ってインストールしてください。

  • uv が利用可能な場合:uv tool install dbc
  • pipx が利用可能な場合:pipx install dbc
  • brew が利用可能な場合: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 については、該当する言語のリソースを参照してください。

その他のリソース

コメント