未验证 提交 976228e5 编写于 作者: W wade zhang 提交者: GitHub

Merge pull request #11926 from taosdata/docs/wade-20220427-c++

docs: refine c++ connector page
...@@ -4,10 +4,7 @@ sidebar_label: C/C++ ...@@ -4,10 +4,7 @@ sidebar_label: C/C++
title: C/C++ Connector title: C/C++ Connector
--- ---
import Tabs from "@theme/Tabs"; C/C++ 开发人员可以使用 TDengine 的客户端驱动,即C/C++连接器 (以下都用 TDengine 客户端驱动表示),开发自己的应用来连接 TDengine 集群完成数据存储、查询以及其他功能。TDengine 客户端驱动的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TDengine 头文件 _taos.h_,里面列出了提供的 API 的函数原型;应用程序还要链接到所在平台上对应的动态库。
import TabItem from "@theme/TabItem";
C/C++ 开发人员可以使用 TDengine 的客户端端驱动,即C/C++连接器 (以下都用 TDengine 客户端驱动表示),开发自己的应用来连接 TDengine 集群完成数据存储、查询以及其他功能。TDengine 客户端驱动的 API 类似于 MySQL 的 C API。应用程序使用时,需要包含 TDengine 头文件 _taos.h_,里面列出了提供的 API 的函数原型;应用程序还要链接到所在平台上对应的动态库。
```c ```c
#include <taos.h> #include <taos.h>
...@@ -18,7 +15,7 @@ TDengine 服务端或客户端安装后,taos.h 位于: ...@@ -18,7 +15,7 @@ TDengine 服务端或客户端安装后,taos.h 位于:
- Linux:`/usr/local/taos/include` - Linux:`/usr/local/taos/include`
- Windows:`C:\TDengine\include` - Windows:`C:\TDengine\include`
C/C++ 连接器的动态库位于 TDengine 客户端驱动的动态库位于:
- Linux: /usr/local/taos/driver/libtaos.so - Linux: /usr/local/taos/driver/libtaos.so
- Windows: C:\TDengine\taos.dll - Windows: C:\TDengine\taos.dll
...@@ -26,12 +23,6 @@ C/C++ 连接器的动态库位于 ...@@ -26,12 +23,6 @@ C/C++ 连接器的动态库位于
请参考[支持的平台列表](/reference/connector#支持的平台) 请参考[支持的平台列表](/reference/connector#支持的平台)
:::note
- 如未特别说明,当 API 的返回值是整数时,_0_ 代表成功,其它是代表失败原因的错误码,当返回值是指针时, _NULL_ 表示失败。
- 所有的错误码以及对应的原因描述在 taoserror.h 文件中。
:::
## 支持的版本 ## 支持的版本
TDengine 客户端驱动的版本号与 TDengine 服务端的版本号是一一对应的强对应关系,建议使用与 TDengine 服务端完全相同的客户端驱动。虽然低版本的客户端驱动在前三段版本号一致(即仅第四段版本号不同)的情况下也能够与高版本的服务端相兼容,但这并非推荐用法。强烈不建议使用高版本的客户端驱动访问低版本的服务端。 TDengine 客户端驱动的版本号与 TDengine 服务端的版本号是一一对应的强对应关系,建议使用与 TDengine 服务端完全相同的客户端驱动。虽然低版本的客户端驱动在前三段版本号一致(即仅第四段版本号不同)的情况下也能够与高版本的服务端相兼容,但这并非推荐用法。强烈不建议使用高版本的客户端驱动访问低版本的服务端。
...@@ -61,16 +52,19 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -61,16 +52,19 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
在上面的示例代码中, `taos_connect` 建立到客户端程序所在主机的 6030 端口的连接,`taos_close`关闭当前连接,`taos_cleanup`清除客户端驱动所申请和使用的资源。 在上面的示例代码中, `taos_connect` 建立到客户端程序所在主机的 6030 端口的连接,`taos_close`关闭当前连接,`taos_cleanup`清除客户端驱动所申请和使用的资源。
:::note
- 如未特别说明,当 API 的返回值是整数时,_0_ 代表成功,其它是代表失败原因的错误码,当返回值是指针时, _NULL_ 表示失败。
- 所有的错误码以及对应的原因描述在 taoserror.h 文件中。
:::
## 示例程序 ## 示例程序
本节展示了使用客户端驱动访问 TDengine 集群的常见访问方式的示例代码。 本节展示了使用客户端驱动访问 TDengine 集群的常见访问方式的示例代码。
<Tabs> ### 同步查询示例
<TabItem label="同步访问" value="sync">
<details> <details>
<summary>demo.c</summary> <summary>同步查询</summary>
```c++ ```c++
{{#include examples/c/demo.c}} {{#include examples/c/demo.c}}
...@@ -78,12 +72,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -78,12 +72,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
</details> </details>
</TabItem> ### 异步查询示例
<TabItem label="异步访问" value="async">
<details> <details>
<summary>asyncdemo.c</summary> <summary>异步查询</summary>
```c++ ```c++
{{#include examples/c/asyncdemo.c}} {{#include examples/c/asyncdemo.c}}
...@@ -91,12 +83,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -91,12 +83,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
</details> </details>
</TabItem> ### 参数绑定示例
<TabItem label="参数绑定" value="stmt">
<details> <details>
<summary>prepare.c</summary> <summary>参数绑定</summary>
```c++ ```c++
{{#include examples/c/prepare.c}} {{#include examples/c/prepare.c}}
...@@ -104,12 +94,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -104,12 +94,10 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
</details> </details>
</TabItem> ### 订阅和消费示例
<TabItem label="订阅" value="sub">
<details> <details>
<summary>subscribe.c</summary> <summary>订阅和消费</summary>
```c++ ```c++
{{#include examples/c/subscribe.c}} {{#include examples/c/subscribe.c}}
...@@ -117,12 +105,11 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -117,12 +105,11 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
</details> </details>
</TabItem>
<TabItem label="无模式写入" value="schemaless"> ### 无模式写入示例
<details> <details>
<summary>schemaless.c</summary> <summary>无模式写入</summary>
```c++ ```c++
{{#include examples/c/schemaless.c}} {{#include examples/c/schemaless.c}}
...@@ -130,10 +117,6 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -130,10 +117,6 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
</details> </details>
</TabItem>
</Tabs>
:::info :::info
更多示例代码及下载请见 [github](https://github.com/taosdata/TDengine/tree/develop/examples/c) 更多示例代码及下载请见 [github](https://github.com/taosdata/TDengine/tree/develop/examples/c)
也可以在安装目录下的 examples/c 路径下找到。 该目录下有 makefile,在 Linux 环境下,直接执行 make 就可以编译得到执行文件。 也可以在安装目录下的 examples/c 路径下找到。 该目录下有 makefile,在 Linux 环境下,直接执行 make 就可以编译得到执行文件。
...@@ -143,6 +126,8 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install ...@@ -143,6 +126,8 @@ TDengine 客户端驱动的安装请参考 [安装指南](/operation/pkg-install
## API 参考 ## API 参考
以下分别介绍 TDengine 客户端驱动的基础 API、同步 API、异步 API、订阅 API 和无模式写入 API。
### 基础 API ### 基础 API
基础 API 用于完成创建数据库连接等工作,为其它 API 的执行提供运行时环境。 基础 API 用于完成创建数据库连接等工作,为其它 API 的执行提供运行时环境。
...@@ -375,7 +360,7 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多 ...@@ -375,7 +360,7 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多
(2.1.3.0 版本新增) (2.1.3.0 版本新增)
用于在其他 STMT API 返回错误(返回错误码或空指针)时获取错误信息。 用于在其他 STMT API 返回错误(返回错误码或空指针)时获取错误信息。
### Schemaless 方式写入接口 ### 无模式写入 API
除了使用 SQL 方式或者使用参数绑定 API 写入数据外,还可以使用 Schemaless 的方式完成写入。Schemaless 可以免于预先创建超级表/数据子表的数据结构,而是可以直接写入数据,TDengine 系统会根据写入的数据内容自动创建和维护所需要的表结构。Schemaless 的使用方式详见 [Schemaless 写入](/reference/schemaless/) 章节,这里介绍与之配套使用的 C/C++ API。 除了使用 SQL 方式或者使用参数绑定 API 写入数据外,还可以使用 Schemaless 的方式完成写入。Schemaless 可以免于预先创建超级表/数据子表的数据结构,而是可以直接写入数据,TDengine 系统会根据写入的数据内容自动创建和维护所需要的表结构。Schemaless 的使用方式详见 [Schemaless 写入](/reference/schemaless/) 章节,这里介绍与之配套使用的 C/C++ API。
...@@ -450,7 +435,7 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多 ...@@ -450,7 +435,7 @@ TDengine 的异步 API 均采用非阻塞调用模式。应用程序可以用多
} }
``` ```
### 数据订阅接口 ### 订阅和消费 API
订阅 API 目前支持订阅一张或多张表,并通过定期轮询的方式不断获取写入表中的最新数据。 订阅 API 目前支持订阅一张或多张表,并通过定期轮询的方式不断获取写入表中的最新数据。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册