--- title: 连接器 --- TDengine 提供了丰富的应用程序开发接口,其中包括支持使用 C/C++、Java、Python、Go、Node.js、C# 等多种语言的连接器,支持使用本地驱动接口 taosc 和 RESTful 接口,便于用户快速开发自己的应用。 ![image-connector](/img/connector.png) ## 支持的系统 目前 TDengine 的连接器可支持的平台广泛,包括:X64/X86/ARM64/ARM32/MIPS/Alpha 等硬件平台,以及 Linux/Win64/Win32 等开发环境。对照矩阵如下: | **CPU** | **OS** | **JDBC** | **Python** | **Go** | **Node.js** | **C#** | **Rust** | | -------------- | --------- | -------- | ---------- | ------ | ----------- | ------ | -------- | | **X86 64bit** | **Linux** | ● | ● | ● | ● | ● | ● | | **X86 64bit** | **Win64** | ● | ● | ● | ● | ● | ● | | **X86 64bit** | **Win32** | ● | ● | ● | ● | ○ | ○ | | **X86 32bit** | **Win32** | ○ | ○ | ○ | ○ | ○ | ○ | | **ARM64** | **Linux** | ● | ● | ● | ● | ○ | ○ | | **ARM32** | **Linux** | ● | ● | ● | ● | ○ | ○ | | **MIPS 龙芯** | **Linux** | ○ | ○ | ○ | ○ | ○ | ○ | | **Alpha 申威** | **Linux** | ○ | ○ | -- | -- | -- | -- | | **X86 海光** | **Linux** | ○ | ○ | ○ | -- | -- | -- | 其中 ● 表示官方测试验证通过,○ 表示非官方测试验证通过,-- 表示未经验证。 ## 特性矩阵 连接器对 TDengine 特性的支持对照矩阵如下[1]: ### 使用本地驱动接口 taosc | **Feature** | **Java** | **Python** | **Go** | **C#** | **Node.js** | **Rust** | | ------------------ | --------- | ---------- | -------- | -------- | ----------- | -------- | | **连接管理** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | | **同步查询** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | | **异步查询** | 不支持[2] | 支持 | 支持 | 支持 | 支持 | 暂不支持 | | **参数绑定** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | | **获取系统信息** | 暂不支持 | 支持 | 暂不支持 | 暂不支持 | 支持 | 暂不支持 | | **错误信息** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | | **订阅功能** | 支持 | 支持 | 支持 | 支持 | 支持 | 暂不支持 | | **Schemaless** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | ### 使用 RESTful 接口 | **Feature** | **Java** | **Python(暂不支持)** | **Go** | **C#(暂不支持)** | **Node.js** | **Rust** | | ------------------ | --------- | ---------------------- | -------- | -------------------- | ----------- | -------- | | **连接管理** | 支持 | n/a | 支持 | n/a | 支持 | 支持 | | **同步查询** | 支持 | n/a | 支持 | n/a | 支持 | 支持 | | **异步查询** | 不支持[2] | n/a | 不支持 | n/a | 不支持 | 暂不支持 | | **参数绑定** | 不支持 | n/a | 不支持 | n/a | 不支持 | 不支持 | | **获取系统信息** | 暂不支持 | n/a | 暂不支持 | n/a | 支持 | 暂不支持 | | **错误信息** | 支持 | n/a | 支持 | n/a | 支持 | 支持 | | **订阅功能** | 不支持 | n/a | 不支持 | n/a | 不支持 | 不支持 | | **Schemaless** | 暂不支持 | n/a | 暂不支持 | n/a | 暂不支持 | 暂不支持 | | **批量拉取(WS)** | 支持 | n/a | 暂不支持 | n/a | 暂不支持 | 暂不支持 | 备注: [1]: 由于不同语言数据库框架规范不同,并不意味着所有 C/C++ 接口都需要对应支持。 [2]: JDBC 标准为同步查询。 :::warning - 在没有安装 TDengine 服务端软件的系统中使用连接器(除 RESTful 外)访问 TDengine 数据库,需要安装相应版本的客户端安装包来使客户端驱动(Linux 系统中文件名为 libtaos.so,Windows 系统中为 taos.dll)被安装在系统中,否则会产生无法找到相应库文件的错误。 - 所有执行 SQL 语句的 API,例如 C/C++ Connector 中的 `tao_query`、`taos_query_a`、`taos_subscribe` 等,以及其它语言中与它们对应的 API,每次都只能执行一条 SQL 语句,如果实际参数中包含了多条语句,它们的行为是未定义的。 - 升级 TDengine 到 2.0.8.0 版本的用户,必须更新 JDBC。连接 TDengine 必须升级 taos-jdbcdriver 到 2.0.12 及以上。详细的版本依赖关系请参见 [taos-jdbcdriver 文档](/reference/connector/java#version)。 - 无论选用何种编程语言的连接器,2.0 及以上版本的 TDengine 推荐数据库应用的每个线程都建立一个独立的连接,或基于线程建立连接池,以避免连接内的“USE statement”状态量在线程之间相互干扰(但连接的查询和写入操作都是线程安全的)。 ::: import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import InstallOnWindows from "./_linux_install.mdx"; import InstallOnLinux from "./_windows_install.mdx"; import VerifyWindows from "./_verify_windows.mdx"; import VerifyLinux from "./_verify_linux.mdx"; ## 安装客户端驱动 :::info 只有在没有安装 TDengine 服务端软件的系统上使用非 REST 连接器才需要安装客户端驱动。 ::: ### 安装步骤 ### 安装验证 以上安装和配置完成后,并确认 TDengine 服务已经正常启动运行,此时可以执行 taos 客户端进行登录。