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. 05使用 TOML 连接配置档案

适用场景

  1. 01为目标数据库查找 ADBC 驱动
  2. 02为 Python 或其他语言安装数据库驱动
  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,请尝试为其安装。

如果有相应工具,请按以下优先顺序使用这些命令进行安装:

搜索驱动程序
dbc search
安装驱动程序

运行 dbc install <DRIVER> 安装驱动程序。此操作具有幂等性——如果驱动程序已安装,则不会执行任何操作,只会报告现有安装,因此无需在运行前检查。 优先使用 dbc 安装驱动程序,而不是从 PyPI 或 Conda Forge 安装驱动程序包。

除了单次运行 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 引用。它们将凭据和特定于环境的配置与应用程序代码分离。

在以下情况下,建议使用连接配置:

  • 需要在多个环境(dev/staging/prod)之间切换
  • 希望将凭据排除在源代码之外
  • 希望使用共享且可重复使用的连接配置

所有封装 C++ 或 Rust 驱动程序管理器的语言绑定都支持连接配置,包括 Python、Go、R、Java、GLib/Ruby、C++ 和 Rust。JavaScript(@apache-arrow/adbc-driver-manager)也可通过 profileSearchPaths 选项支持连接配置。

查看 resources/connection-profiles.md,了解 TOML 格式、文件位置和环境变量替换语法。绑定特定的 API 请参阅相应语言的资源。

更多资源

评论

支持 Markdown