连接到任何 ODBC 兼容的数据库,并直接从 DuckDB 查询数据
维护者:Hugoberry
安装和加载
INSTALL nanodbc FROM community;
LOAD nanodbc;
示例
-- Query a table using DSN
SELECT * FROM odbc_scan(table_name='customers', connection='MyODBCDSN');
-- Execute custom SQL with connection string
SELECT * FROM odbc_query(
connection='Driver={SQL Server};Server=localhost;Database=mydb;',
query='SELECT id, name, amount FROM sales WHERE amount > 1000'
);
-- Attach all tables from an ODBC source
CALL odbc_attach(connection='MyODBCDSN');
关于 nanodbc
ODBC 扩展允许 DuckDB 无缝连接到任何提供 ODBC 驱动程序的数据库,使您能够查询和分析来自各种数据源的数据,而无需离开 DuckDB 生态系统。
主要功能:- odbc_scan()
: 从任何 ODBC 数据源查询表 - odbc_query()
: 针对外部数据库执行自定义 SQL 查询 - odbc_exec()
: 执行 DDL/DML 语句,无需返回结果 - odbc_attach()
: 将来自 ODBC 源的所有表作为视图附加到 DuckDB 中 - 跨平台字符编码支持 - ODBC 和 DuckDB 类型之间的自动类型转换 - 支持 DSN 和直接连接字符串
该扩展适用于 Windows、macOS 和 Linux 平台,并已在 SQL Server、MySQL、PostgreSQL、Snowflake、SQLite 和许多其他数据库上进行了测试。所有函数都使用命名参数,以提高可读性和灵活性。
新增函数
function_name | 函数类型 | description | comment | examples |
---|---|---|---|---|
odbc_attach | table | NULL | NULL | [] |
odbc_exec | table | NULL | NULL | [] |
odbc_query | table | NULL | NULL | [] |
odbc_scan | table | NULL | NULL | [] |