TDengine ODBC
TDengine ODBC 是为 TDengine 实现的 ODBC 驱动程序,支持 Windows 系统的应用(如 PowerBI 等)以及用户自定义开发的应用程序,通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。
TDengine ODBC 提供基于 WebSocket(推荐)和 原生连接两种方式连接 TDengine 数据库,使用时可以为 TDengine 数据源设置不同的连接方式。访问云服务时必须使用 WebSocket 连接方式。
TDengine ODBC 提供 64 位 和 32 位 两种驱动程序。但 32 位仅企业版支持,且仅支持 WebSocket 连接方式。
注意:
- 驱动管理器:确保使用与应用程序架构匹配的 ODBC 驱动管理器。32 位应用程序需要使用 32 位 ODBC 驱动管理器,64 位应用程序需要使 用 64 位 ODBC 驱动管理器。
- 数据源名称(DSN):32 位和 64 位 ODBC 驱动管理器都可以看到所有 DSN,用户 DSN 标签页下的 DSN 如果名字相同会共用,因此需要在 DSN 名称上去区分。
想更多了解 TDengine 时序时序数据库的使用,可访问 TDengine官方文档。
ODBC 版本兼容性
- 支持 ODBC 3.8 及以前所有版本。
安装
-
仅支持 Windows 平台。Windows 上需要安装过 VC 运行时库,可在此下载安装 VC运行时库 如果已经安装VS开发工具可忽略。
-
安装 TDengine Windows 客户端。版本在 3.2.1.0 或以上,包含 TDengine 的 ODBC 64 位驱动;版本在 3.3.3.0 或以上,包含 TDengine 的 ODBC 32/64 位驱动。
配置数据源
数据源连接类型与区别
TDengine ODBC 支持两种连接 TDengine 数 据库方式:WebSocket 连接与 Native 连接,其区别如下:
-
访问云服务仅支持使用 WebSocket 连接方式。
-
32 位应用程序仅支持使用 WebSocket 连接方式。
-
WebSocket 连接的兼容性更好,一般不需要随着 TDengine 数据库服务端升级而升级客户端的库。
-
Native 连接通常性能更好一点,但是必须与 TDengine 数据库服务端的版本保持一致。
-
对于一般用户,建议使用 WebSocket 连接方式,性能与 Native 差别不大,兼容性更好。
WebSocket 连接
-
【开始】菜单搜索打开【ODBC 数据源(32 位)】或者【ODBC 数据源(64 位)】管理工具
-
选中【用户 DSN】标签页,通过【添加(D)】按钮进入"创建数据源"界面
-
选择想要添加的数据源,这里我们选择【TDengine】
-
点击完成,进入 TDengine ODBC 数据源配置页面,填写如下必要信息
4.1 【DSN】:Data Source Name 必填,为新添加的 ODBC 数据源命名
4.2【连接类型】 : 必选,选择连接类型,这里选择 【WebSocket】
4.3【URL】必填,ODBC 数据源 URL,示例:
http://localhost:6041
, 云服务的 url 示例:https://gw.cloud.taosdata.com?token=your_token
4.4【数据库】选填,需要连接的默认数据库
4.5【用户名】仅供第5步测试连接使用,选填,数据库用户名,如果不填 ,TDengine 默认 root
4.6【密码】仅供第5步测试连接使用,选填,数据库用户密码,如果不填,TDengine 默认 taosdata
4.7【兼容软件】支持对工业软件 KingSCADA、Kepware 等的兼容性适配,通常情况下,选择默认值 General 即可
-
点【测试连接】测试连接情况,如果成功,提示"成功连接到URL"
-
点【确定】,即可保存配置并退出
-
也可以在第2步选择已经配置好的数据源名通过【配置】按钮进入配置页面,修改已有配置
原生连接(不支持云服务和 32 位应用程序)
-
【开始】菜单搜索打开【ODBC 数据源(64 位)】管理工具(注意不要选择ODBC 数据源(32 位))
-
选中【用户 DSN】标签页,通过【添加(D)】按钮进入"创建数据源"界面
-
选择想要添加的数据源,这里我们选择【TDengine】
-
点击完成,进入 TDengine ODBC 数据源配置页面,填写如下必要信息
4.1 【DSN】:Data Source Name 必填,为新添加的 ODBC 数据源命名
4.2 【连接类型】 : 必选,选择连接类型,这里选择 【Native】 原生连接;
4.3 【服务器】必填,ODBC 数据源 服务器 地址,示例:
localhost:6030
4.4 【数据库】选填,需 要连接的默认数据库
4.5 【用户名】仅供第5步测试连接使用,选填,数据库用户名,如果不填,TDengine 默认 root
4.6 【密码】仅供第5步测试连接使用,选填,数据库用户密码,如果不填,TDengine 默认 taosdata
4.7【兼容软件】支持对工业软件 KingSCADA、Kepware 等的兼容性适配,通常情况下,选择默认值 General 即可
-
点【测试连接】测试连接情况,如果成功,提示"连接成功"
-
点【确定】,即可保存配置并退出
-
也可以在第2步选择已经配置好的数据源名通过【配置】按钮进入配置页面,修改已有配置
支持的平台
原生连接方式支持的平台和 TDengine Windows X64版 客户端驱动支持的平台一致。 WebSocket 连接方式除此之外还支持 Windows X64系统上运行的 32 位应用程序上使用。
版本历史
taos_odbc 版本 | 主要变化 | TDengine 版本 |
---|---|---|
v1.1.0 | 1. 支持视图功能; 2. 支持 VARBINARY/GEOMETRY 数据类型; 3. 支持 ODBC 32 位 WebSocket 连接方式(仅企业版支持); 4. 支持 ODBC 数据源配置对话框设置对工业软件 KingSCADA、Kepware 等的兼容性适配选项(仅企业版支持); | 3.3.3.0及更高版本 |
v1.0.2 | 支持 CP1252 字符编码; | 3.2.3.0及更高版本 |
v1.0.1 | 1. 支持 DSN 设置 BI 模式,在 BI 模式下 TDengine 数据库不返回系统数据库和超级表子表信息; 2. 重构字符集转换模块,提升读写性能; 3. ODBC 数据源配置对话框中默认修改默认连接方式为“WebSocket”; 4. ODBC 数据源配置对话框增加“测试连接”控件; 5. ODBC 数据源配置支持中文/英文界面; | - |
v1.0.0.0 | 发布初始版本,支持与Tdengine数据库交互以读写数据,具体请参考“API 参考”一节 | 3.2.2.0及更高版本 |
数据类型映射
下表说明了 ODBC 连接器如何将服务器数据类型映射到默认的 SQL 和 C 数据类型。
TDengine Type | SQL Type | C Type |
---|---|---|
TIMESTAMP | SQL_TYPE_TIMESTAMP | SQL_C_TIMESTAMP |
INT | SQL_INTEGER | SQL_C_SLONG |
INT UNSIGNED | SQL_INTEGER | SQL_C_ULONG |
BIGINT | SQL_BIGINT | SQL_C_SBIGINT |
BIGINT UNSIGNED | SQL_BIGINT | SQL_C_UBIGINT |
FLOAT | SQL_REAL | SQL_C_FLOAT |
DOUBLE | SQL_REAL | SQL_C_DOUBLE |
BINARY | SQL_BINARY | SQL_C_BINARY |
SMALLINT | SQL_SMALLINT | SQL_C_SSHORT |
SMALLINT UNSIGNED | SQL_SMALLINT | SQL_C_USHORT |
TINYINT | SQL_TINYINT | SQL_C_STINYINT |
TINYINT UNSIGNED | SQL_TINYINT | SQL_C_UTINYINT |
BOOL | SQL_BIT | SQL_C_BIT |
NCHAR | SQL_VARCHAR | SQL_C_CHAR |
JSON | SQL_VARCHAR | SQL_C_CHAR |
VARCHAR | SQL_VARCHAR | SQL_C_CHAR |
GEOMETRY | SQL_VARBINARY | SQL_C_BINARY |
VARBINARY | SQL_VARBINARY | SQL_C_BINARY |
API 参考
本节按功能分类汇总了 ODBC API,关于完整的 ODBC API 参考,请访问 http://msdn.microsoft.com/en-us/library/ms714177.aspx 的 ODBC 程序员参考页面。
数据源和驱动程序管理
- API: ConfigDSN
- 是否支持: 支持
- 标准: ODBC
- 作用: 配置数据源
- API: ConfigDriver
- 是否支持: 支持
- 标准: ODBC
- 作用: 用于执行与特定驱动程序相关的安装和配置任务
- API: ConfigTranslator
- 是否支持: 支持
- 标准: ODBC
- 作用: 用于解析DSN的配置,在DSN配置和实际数据库驱动程序配置之间进行翻译或转换
连接到数据源
-
API: SQLAllocHandle
- 是否支持: 支持
- 标准: ISO 92
- 作用: 分配环境、连接、语句或描述符句柄
-
API: SQLConnect
- 是否支持: 支持
- 标准: ISO 92
- 作用: 通过数据源名称、用户 ID 和密码连接到特定驱动程序
-
API: SQLDriverConnect
- 是否支持: 支持
- 标准: ODBC
- 作用: 通过连接字符串连接到特定驱动程序,支持更多连接信息
-
API: SQLBrowseConnect
- 是否支持: 不支持
- 标准: ODBC
- 作用: 用于发现和枚举连接到数据源所需的特性和属性值。每次调用 SQLBrowseConnect 都会返回属性和属性值的连续级别
-
API: SQLAllocEnv
- 是否支持: 不支持
- 标准: 弃用
- 作用: 在 ODBC 3.x 中,ODBC 2.x 函数 SQLAllocEnv 已替换为 SQLAllocHandle
-
API: SQLAllocConnect
- 是否支持: 不支持
- 标准: 弃用
- 作用: 在 ODBC 3.x 中,ODBC 2.x 函数 SQLAllocConnect 已替换为 SQLAllocHandle