TDengine Excel 集成实战:通过 ODBC 连接器将时序数据零代码导入 Excel 制作报表
TDengine Excel 集成实战通过 ODBC 连接器将时序数据零代码导入 Excel 制作报表【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine通过 ODBC 连接器Excel 可以快速访问 TDengine 中的数据无需编写任何代码即可将标签数据、原始时序数据或按时间聚合后的时序数据从 TDengine 导入 Excel直接用于制作报表和数据透视分析。本文以 与 Excel 集成 官方文档为主线完整覆盖前置环境准备、ODBC 数据源配置、Excel 端五步操作流程和数据分析实操并结合 TDengine ODBC 参考手册 补充数据源参数、连接方式选择和数据类型映射等底层细节帮助你在 Windows 办公环境中快速搭建“TDengine → Excel”的免代码报表链路。一、方案概览ODBC 是 Excel 访问 TDengine 的桥梁Excel 本身不具备直接连接时序数据库的能力它依赖ODBCOpen Database Connectivity标准接口访问数据源。TDengine 为 Windows 系统提供了 ODBC 驱动程序支持 Excel、PowerBI 等 Windows 应用以及用户自定义开发的应用程序通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。整个集成涉及三个组件各自的角色如下TDengine 集群v3.3.5.8 以上版本存储时序数据的后端企业版与社区版均可。taosAdapterTDengine 的配套适配器组件是 TDengine 集群和应用程序之间的桥梁。根据 taosAdapter 参考手册 的说明TDengine 的各语言连接器以及 ODBC 的 WebSocket 连接方式通过 WebSocket 接口与 taosAdapter 通信因此该组件必须安装且处于正常运行状态。TDengine ODBC 驱动安装在 Excel 所在 Windows 机器上的客户端驱动由 TDengine Windows 客户端安装包提供。ODBC 驱动提供两种连接方式WebSocket 连接推荐通过 taosAdapter 的 WebSocket 接口访问服务端兼容性更好一般无需随服务端升级而更新客户端且支持云服务和 32 位应用程序原生连接Native直接调用 TDengine 客户端驱动taosnative库通过私有协议与服务端通信通常性能更好但要求客户端驱动版本与服务端版本一致且不支持云服务和 32 位应用程序。官方文档已明确提示ODBC 的原生连接将于 2027-01-01 下线请迁移到 WebSocket 连接。注意原生连接Native和 WebSocket 连接在同一进程中不支持混合使用也不允许在运行时切换。一个进程只能使用其中一种连接方式需要在创建数据源时就确定所需的连接类型。二、前置条件按照官方文档开始配置前需要准备以下环境TDenginev3.3.5.8以上版本集群已部署并正常运行企业及社区版均可taosAdapter 能够正常运行详细参考 taosAdapter 参考手册Excel 已安装并运行如未安装请下载并安装具体操作请参考 Microsoft 官方文档从 TDengine 官网下载最新的 Windows 操作系统 X64 客户端驱动程序并安装其中包含 TDengine 的 ODBC 64 位驱动v3.3.3.0及以上版本还包含 ODBC 32 位驱动详细参考 安装 ODBC 驱动。关于 ODBC 驱动安装的两个补充事实来自 ODBC 参考手册仅支持 Windows 平台。Windows 上需要先安装 VC 运行时库如果已经安装 VS 开发工具可忽略版本要求v3.2.1.0及以上版本包含 ODBC 64 位驱动v3.3.3.0及以上版本包含 ODBC 32/64 位驱动。驱动管理器与 DSN 的架构匹配问题也需要注意确保使用与应用程序架构匹配的 ODBC 驱动管理器——32 位应用程序需要使用 32 位 ODBC 驱动管理器64 位应用程序需要使用 64 位 ODBC 驱动管理器。32 位和 64 位 ODBC 驱动管理器都可以看到所有 DSN用户 DSN 标签页下的 DSN 如果名字相同会共用因此需要在 DSN 名称上加以区分。三、配置 ODBC 数据源在 Excel 端操作之前需要先在 Windows 上把 DSNData Source Name配置好。第 1 步在 Windows 操作系统的开始菜单中搜索并打开【ODBC 数据源64 位】管理工具进行配置详细步骤参考 配置 ODBC 数据源。具体填写要点以推荐的 WebSocket 连接为例来自 ODBC 参考手册在【用户 DSN】标签页通过【添加 (D)】按钮进入“创建数据源”界面选择【TDengine】并点击完成在配置页面填写必要信息【DSN】必填为新添加的 ODBC 数据源命名例如MyTDengine后续在 Excel 中要能在下拉列表里看到这个名字【连接类型】必选推荐选择【WebSocket】【URL】必填ODBC 数据源 URL本机示例http://localhost:6041云服务示例https://gw.cloud.taosdata.com?tokenyour_token注意 6041 端口即 taosAdapter 的 WebSocket 服务端口【数据库】选填需要连接的默认数据库【用户名】/【密码】选填用于“测试连接”如果不填TDengine 默认为root/taosdata【兼容软件】支持对 ADO 和工业软件KingSCADA、Kepware 等的兼容性适配通常选择默认值General即可【启用传输压缩】仅 WebSocket 连接可用。勾选后等价于设置COMPRESSION1不勾选等价于COMPRESSION0用于控制 WebSocket 传输是否启用压缩点击【测试连接】成功时提示“成功连接到 URL”点击【确定】保存配置并退出。如果使用Native 原生连接则【服务器】字段必填示例localhost:6030即 taosd 私有协议端口且不支持云服务与 32 位应用程序也不支持压缩参数。考虑到官方已宣布原生连接将于 2027-01-01 下线建议新数据源一律选择 WebSocket 方式。四、在 Excel 中获取数据五步操作数据源配置完成后即可在 Excel 中加载 TDengine 数据。第 2 步在 Windows 系统环境下启动 Excel选择【数据】-【获取数据】-【自其他源】-【从 ODBC】第 3 步在弹出窗口的【数据源名称 (DSN)】下拉列表中选择需要连接的数据源即上一步配置的 DSN 名称点击【确定】按钮第 4 步在“ODBC 驱动程序”认证窗口输入 TDengine 的用户名和密码对应左侧“数据库”节点点击【连接】第 5 步在弹出的【导航器】对话框中左侧树形结构会列出可访问的库表例如示例环境中的example_all_type_stm0、meter、power_connect等选中要加载的库表点击【加载】完成数据加载。右侧预览区会显示该表的实际数据内容如ts时间戳、current、voltage、phase等列加载完成后TDengine 中的时序数据即作为一张表格出现在 Excel 工作表中可以直接参与筛选、公式计算和图表制作。五、数据分析用导入的数据制作图表数据导入 Excel 后就可以利用 Excel 自身的分析能力了。以官方文档的示例流程为例选中导入的数据区域在【插入】选项卡中选择柱状图在右侧的【数据透视图字段】面板中配置数据字段——例如将ts与tname放到轴/图例将phase、voltage、current等度量字段以“求和”聚合放到“值”区域即可得到按时间戳和表名分组的度量趋势柱状图。这里体现了时序数据在 Excel 中的典型用法导入的每张表本质上是一个“时间 标签 指标”的二维结构时间列ts天然适合作为图表横轴指标列如voltage、current作为度量值表名或标签列如tname、location用于系列分组无需任何 SQL 即可得到可读性很强的运营/质检报表。六、底层原理与细节补充6.1 数据是如何流动的从组件结构看完整调用链为Excel → 64 位 ODBC 驱动管理器 → TDengine ODBC 驱动 →WebSocket 方式taosAdapter 6041 端口 → TDengine 集群。ODBC 驱动在SQLConnect/SQLDriverConnect建立连接后Excel 的导航器通过SQLTables/SQLColumns等元数据 API 枚举库表点击【加载】后驱动执行查询并将结果集通过SQLFetch/SQLGetData逐行填充到 Excel 表格中。这些 API 的支持情况在 ODBC API 参考 中有完整列表其中SQLTables、SQLColumns、SQLDescribeCol、SQLFetch等导航器依赖的关键接口均已支持。6.2 数据类型在 ODBC 侧的映射导入 Excel 后各列显示的数据格式由 ODBC 驱动的数据类型映射决定。根据 ODBC 参考手册 的映射表常用类型对应关系如下TDengine TypeSQL TypeC TypeTIMESTAMPSQL_TYPE_TIMESTAMPSQL_C_TIMESTAMPINTSQL_INTEGERSQL_C_SLONGBIGINTSQL_BIGINTSQL_C_SBIGINTFLOATSQL_REALSQL_C_FLOATDOUBLESQL_DOUBLESQL_C_DOUBLEBINARYSQL_BINARYSQL_C_BINARYVARCHARSQL_VARCHARSQL_C_CHARBOOLSQL_BITSQL_C_BITJSONSQL_WVARCHARSQL_C_WCHARGEOMETRYSQL_VARBINARYSQL_C_BINARY也就是说TIMESTAMP 列会以时间戳类型进入 Excel可参与日期函数与时间轴排序数值列保持数值语义可直接求和、求平均字符串列BINARY/VARCHAR以文本呈现。这保证了导入后的数据在 Excel 中“开箱即用”不需要再做格式转换。6.3 导入哪些数据原始数据与聚合数据官方文档明确说明可以导入标签数据、原始时序数据或按时间聚合后的时序数据三类内容。由于 ODBC 支持执行完整 SQL包括INTERVAL等时序函数实践中常见的做法是直接加载表如上文导航器示例中的meter表获得原始时序明细通过 DSN 中指定的默认数据库或连接后切换数据库加载show tables、系统表等元数据视图获取表/标签信息若数据量很大建议先在 TDengine 中用select ... from table interval(...)之类的聚合查询得到压缩后的结果集再导入 Excel以避免工作表超出 Excel 行数/列数限制。6.4 ODBC 版本历史了解驱动能力演进按 版本历史 一节taos_odbc的关键演进为v1.0.1起支持 DSN 的 BI 模式BI 模式下不返回系统数据库和超级表子表信息、字符集转换模块重构、配置对话框默认连接方式改为 WebSocket、增加“测试连接”控件v1.0.2支持 CP1252 字符编码v1.1.0支持视图功能、VARBINARY/GEOMETRY 数据类型、ODBC 32 位 WebSocket 连接仅企业版以及对 KingSCADA、Kepware 等工业软件的兼容适配选项v1.1.1起支持 ADO 访问 ODBC 32/64 接口。对 Excel 报表场景而言BI 模式v1.0.1引入尤其相关——它在 BI 模式下不返回系统数据库和超级表子表信息可以让导航器的库表树更加聚焦于业务表。七、常见问题排查结合 ODBC 参考手册 的说明Excel 集成时容易遇到的问题及排查方向Excel 的【从 ODBC】下拉列表中看不到 TDengine 数据源通常是架构不匹配——64 位 Excel 需要 64 位驱动管理器下注册的 DSN请确认在【ODBC 数据源64 位】中创建了 DSN且驱动为 64 位版本。测试连接失败检查 URL 是否正确WebSocket 方式应为http://host:6041taosAdapter 是否运行该端口由 taosAdapter 提供用户名密码是否为有效 TDengine 账号。连接超时或乱码确认客户端 VC 运行时库已安装中文/英文界面与字符编码问题可参考v1.0.1起重构的字符集转换模块与v1.0.2的 CP1252 编码支持必要时升级 Windows 客户端驱动版本。性能不满意若使用 Native 连接要求客户端与服务端版本严格一致若计划长期维护建议直接使用 WebSocket 连接性能差别不大且兼容性更好。原生连接迁移如果你的环境仍在使用 Native 数据源请注意官方计划于 2027-01-01 下线原生连接应提前按 连接方式说明 迁移到 WebSocket 连接。八、小结环节关键动作参考文档环境准备部署 v3.3.5.8 集群、保证 taosAdapter 运行、安装 Excel 与 Windows X64 客户端驱动与 Excel 集成ODBC 数据源64 位驱动管理器中创建 DSN推荐 WebSocket 连接URLhttp://localhost:6041配置 ODBC 数据源Excel 导入数据 → 获取数据 → 自其他源 → 从 ODBC → 选 DSN → 输账号 → 导航器选表 → 加载与 Excel 集成数据分析选中数据 → 插入柱状图 → 数据透视图字段配置维度与聚合与 Excel 集成通过上述流程Windows 办公环境下的用户不需要编写任何代码就能把 TDengine 中的标签数据、原始时序数据或聚合时序数据导入 Excel 并制作图表报表而理解了 ODBC 驱动的 WebSocket 连接机制、类型映射和 BI 模式等细节后也能在实际使用中更快定位连接、认证与数据呈现层面的问题。【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →