Note
如果在传递给SQLDriverConnect
的连接字符串和odbc.ini
文件中都设置了配置,传递给SQLDriverConnect
的配置将优先。
需要一个驱动程序管理器来管理应用程序和ODBC驱动程序之间的通信。DuckDB支持unixODBC
,这是一个适用于macOS和Linux的完整ODBC驱动程序管理器。用户可以通过Homebrew从命令行安装它:
brew install unixodbc
DuckDB 发布了一个适用于 macOS 的通用 ODBC 驱动程序(支持 Intel 和 Apple Silicon CPU)。要下载它,请运行:
wget https://github.com/duckdb/duckdb/releases/download/v1.1.0/duckdb_odbc-osx-universal.zip
存档包含libduckdb_odbc.dylib
文件。要将其提取到目录中,请运行:
mkdir duckdb_odbc && unzip duckdb_odbc-osx-universal.zip -d duckdb_odbc
有两种方法可以配置ODBC驱动程序,一种是通过配置文件进行初始化,另一种是通过连接SQLDriverConnect
。
两者的组合也是可能的。
此外,ODBC驱动程序支持DuckDB中包含的所有配置选项。
Note
如果在传递给
SQLDriverConnect
的连接字符串和odbc.ini
文件中都设置了配置,传递给SQLDriverConnect
的配置将优先。
有关配置参数的详细信息,请参阅ODBC配置页面。
配置完成后,为了验证安装,可以使用ODBC客户端。unixODBC使用一个名为isql
的命令行工具。
使用在odbc.ini
中定义的DSN作为isql
的参数。
isql DuckDB
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| echo [string] |
| quit |
| |
+---------------------------------------+
SQL> SELECT 42;
+------------+
| 42 |
+------------+
| 42 |
+------------+
SQLRowCount returns -1
1 rows fetched