关于 adbc
adbc 是围绕 `dbc` 命令行工具的技能,帮助开发者查找并安装数据库的 ADBC 驱动。它还提供按编程语言和数据库选择连接示例及配置资料;目标数据库可能没有可用驱动。
主要功能
- 01搜索可用的 ADBC 驱动
- 02通过 `dbc` 安装驱动
- 03按语言查阅使用示例
- 04按数据库查阅驱动资料
- 05使用 TOML 连接配置档案
适用场景
- 01为目标数据库查找 ADBC 驱动
- 02为 Python 或其他语言安装数据库驱动
- 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 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> 安装驱动程序。此操作具有幂等性——如果驱动程序已安装,则不会执行任何操作,只会报告现有安装,因此无需在运行前检查。
优先使用 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 请参阅相应语言的资源。
更多资源
- 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