⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
Windows 上的 ODBC API

在 Windows 上使用 DuckDB ODBC API 需要以下步骤

  1. Microsoft Windows 需要一个 ODBC 驱动程序管理器来管理应用程序与 ODBC 驱动程序之间的通信。Windows 上的驱动程序管理器以 DLL 文件 odbccp32.dll 以及其他文件和工具的形式提供。有关详细信息,请查阅 Common ODBC Component Files

  2. DuckDB 以资产形式发布 ODBC 驱动程序。对于 Windows,请从 Windows ODBC 资产 (x86_64/AMD64) 下载。

  3. 该存档包含以下组件

    • duckdb_odbc.dll:为 Windows 编译的 DuckDB 驱动程序。
    • duckdb_odbc_setup.dll:Windows ODBC 数据源管理器工具使用的设置 DLL。
    • odbc_install.exe:一个用于帮助在 Windows 上进行配置的安装脚本。

    将存档解压到某个目录(例如,duckdb_odbc)。

  4. 二进制文件 odbc_install.exe 在 Windows 上执行 DuckDB ODBC 驱动程序的配置。它依赖于提供配置 ODBC 注册表项功能的 Odbccp32.dll

    在永久目录中(例如,duckdb_odbc),双击 odbc_install.exe

    需要 Windows 管理员权限。如果不是管理员,将出现用户账户控制提示。

  5. odbc_install.exe 将默认 DSN 配置以及默认数据库 :memory: 添加到 ODBC 注册表中。

DSN Windows 设置

安装后,可以使用 Windows ODBC 数据源管理器工具 odbcad32.exe 更改默认 DSN 配置或添加新配置。

它也可以通过 Windows 开始菜单启动

默认 DuckDB DSN

新安装的 DSN 在 Windows ODBC 数据源管理器工具的 系统 DSN 中可见

Windows ODBC Config Tool

更改 DuckDB DSN

选择默认 DSN(即 DuckDB)或添加新配置时,将显示以下设置窗口

DuckDB Windows DSN Setup

此窗口允许您设置 DSN 以及与该 DSN 关联的数据库文件路径。

更详细的 Windows 设置

配置 ODBC 驱动程序有两种方法,可以通过更改如下所述的注册表项,或者通过使用 SQLDriverConnect 进行连接。这两种方法也可以结合使用。

此外,ODBC 驱动程序支持 DuckDB 中包含的所有配置选项

如果在传递给 SQLDriverConnect 的连接字符串和 odbc.ini 文件中都设置了配置,则传递给 SQLDriverConnect 的配置将优先。

有关配置参数的详细信息,请参阅ODBC 配置页面

注册表项

Windows 上的 ODBC 设置基于注册表项(参见 Registry Entries for ODBC Components)。ODBC 条目可以放置在当前用户注册表项 (HKCU) 或系统注册表项 (HKLM) 中。

我们已测试并使用了基于 HKLM->SOFTWARE->ODBC 的系统条目。odbc_install.exe 更改此条目,它有两个子项:ODBC.INIODBCINST.INI

ODBC.INI 是用户通常为驱动程序插入 DSN 注册表项的地方。

例如,DuckDB 的 DSN 注册表项如下所示

`HKLM->SOFTWARE->ODBC->ODBC.INI->DuckDB`

ODBCINST.INI 包含每个 ODBC 驱动程序的一个条目以及为 Windows ODBC 配置预定义的其他键。

更新 ODBC 驱动程序

当发布新版本的 ODBC 驱动程序时,安装新版本会覆盖现有版本。但是,安装程序并不总是更新注册表中的版本号。为确保使用正确的版本,请检查 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\DuckDB Driver 是否为最新版本,并且 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DuckDB\Driver 具有指向新驱动程序的正确路径。