Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6658d95c
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1185
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6658d95c
编写于
12月 22, 2020
作者:
sangshuduo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-2522] fix: fix some typo in taos.cfg, fix convertor compliance
上级
55dd9eba
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
66 deletion
+16
-66
documentation20/webdocs/markdowndocs/connector-ch.md
documentation20/webdocs/markdowndocs/connector-ch.md
+15
-61
documentation20/webdocs/markdowndocs/connector-java-ch.md
documentation20/webdocs/markdowndocs/connector-java-ch.md
+1
-5
未找到文件。
documentation20/webdocs/markdowndocs/connector-ch.md
浏览文件 @
6658d95c
...
...
@@ -65,8 +65,6 @@ TDengine提供了丰富的应用程序开发接口,其中包括C/C++、Java、
**提示: 如本机没有部署TDengine服务,仅安装了应用驱动,则taos.cfg中仅需配置firstEP,无需配置FQDN。**
**Windows x64/x86**
**1. 从涛思官网(https://www.taosdata.com/cn/all-downloads/)下载 :**
...
...
@@ -100,8 +98,6 @@ TDengine提供了丰富的应用程序开发接口,其中包括C/C++、Java、
**2.卸载:运行unins000.exe可卸载TDengine应用驱动。**
**安装验证**
以上安装和配置完成后,并确认TDengine服务已经正常启动运行,此时可以执行taos客户端进行登录。
...
...
@@ -140,8 +136,6 @@ taos>
taos>
```
## C/C++ Connector
**C/C++连接器支持的系统有**
:
...
...
@@ -151,8 +145,6 @@ taos>
|
**OS类型**
| Linux | Win64 | Win32 | Linux | Linux |
|
**支持与否**
|
**支持**
|
**支持**
|
**支持**
|
**支持**
|
**开发中**
|
C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine头文件 _taos.h_(安装后,位于 _/usr/local/taos/include_):
```
C
...
...
@@ -166,7 +158,6 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
使用C/C++连接器的示例代码请参见 https://github.com/taosdata/TDengine/tree/develop/tests/examples/c。
### 基础API
基础API用于完成创建数据库连接等工作,为其它API的执行提供运行时环境。
...
...
@@ -175,22 +166,18 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
初始化运行环境。如果应用没有主动调用该API,那么应用在调用
`taos_connect`
时将自动调用,故应用程序一般无需手动调用该API。
-
`void taos_cleanup()`
清理运行环境,应用退出前应调用此API。
-
`int taos_options(TSDB_OPTION option, const void * arg, ...)`
设置客户端选项,目前只支持时区设置(_TSDB_OPTION_TIMEZONE_)和编码设置(_TSDB_OPTION_LOCALE_)。时区和编码默认为操作系统当前设置。
-
`char *taos_get_client_info()`
获取客户端版本信息。
-
`TAOS *taos_connect(const char *ip, const char *user, const char *pass, const char *db, int port)`
创建数据库连接,初始化连接上下文。其中需要用户提供的参数包含:
...
...
@@ -203,23 +190,18 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
返回值为空表示失败。应用程序需要保存返回的参数,以便后续API调用。
-
`char *taos_get_server_info(TAOS *taos)`
获取服务端版本信息。
-
`int taos_select_db(TAOS *taos, const char *db)`
将当前的缺省数据库设置为
`db`
。
-
`void taos_close(TAOS *taos)`
关闭连接, 其中
`taos`
是
`taos_connect`
函数返回的指针。
### 同步查询API
传统的数据库操作API,都属于同步操作。应用调用API后,一直处于阻塞状态,直到服务器返回结果。TDengine支持如下API:
...
...
@@ -228,37 +210,30 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
该API用来执行SQL语句,可以是DQL、DML或DDL语句。 其中的
`taos`
参数是通过
`taos_connect`
获得的指针。返回值 NULL 表示失败。
-
`int taos_result_precision(TAOS_RES *res)`
返回结果集时间戳字段的精度,
`0`
代表毫秒,
`1`
代表微秒,
`2`
代表纳秒。
-
`TAOS_ROW taos_fetch_row(TAOS_RES *res)`
按行获取查询结果集中的数据。
-
`int taos_fetch_block(TAOS_RES *res, TAOS_ROW *rows)`
批量获取查询结果集中的数据,返回值为获取到的数据的行数。
-
`int taos_num_fields(TAOS_RES *res)`
和
`int taos_field_count(TAOS_RES *res)`
这两个API等价,用于获取查询结果集中的列数。
-
`int* taos_fetch_lengths(TAOS_RES *res)`
获取结果集中每个字段的长度。 返回值是一个数组,其长度为结果集的列数。
-
`int taos_affected_rows(TAOS_RES *res)`
获取被所执行的 SQL 语句影响的行数。
-
`TAOS_FIELD *taos_fetch_fields(TAOS_RES *res)`
获取查询结果集每列数据的属性(数据类型、名字、字节数),与taos_num_fileds配合使用,可用来解析
`taos_fetch_row`
返回的一个元组(一行)的数据。
`TAOS_FIELD`
的结构如下:
...
...
@@ -271,30 +246,24 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
}
TAOS_FIELD
;
```
-
`void taos_stop_query(TAOS_RES *res)`
停止一个查询的执行。
-
`void taos_free_result(TAOS_RES *res)`
释放查询结果集以及相关的资源。查询完成后,务必调用该API释放资源,否则可能导致应用内存泄露。
-
`char *taos_errstr(TAOS_RES *res)`
获取最近一次API调用失败的原因,返回值为字符串。
-
`char *taos_errno(TAOS_RES *res)`
获取最近一次API调用失败的原因,返回值为错误代码。
**注意**
:对于每个数据库应用,2.0及以上版本 TDengine 推荐只建立一个连接。同时在应用中将该连接 (TAOS
*
) 结构体传递到不同的线程共享使用。基于 TAOS 结构体发出的查询、写入等操作具有多线程安全性。C 语言的连接器可以按照需求动态建立面向数据库的新连接(该过程对用户不可见),同时建议只有在程序最后退出的时候才调用 taos_close 关闭连接。
### 异步查询API
同步API之外,TDengine还提供性能更高的异步调用API处理数据插入、查询操作。在软硬件环境相同的情况下,异步API处理数据插入的速度比同步API快2~4倍。异步API采用非阻塞式的调用方式,在系统真正完成某个具体数据库操作前,立即返回。调用的线程可以去处理其他工作,从而可以提升整个应用的性能。异步API在网络延迟严重的情况下,优点尤为突出。
...
...
@@ -319,7 +288,6 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
*
res:
`taos_query_a`
回调时返回的结果集
*
fp:回调函数。其参数
`param`
是用户可定义的传递给回调函数的参数结构体;
`numOfRows`
是获取到的数据的行数(不是整个查询结果集的函数)。 在回调函数中,应用可以通过调用
`taos_fetch_row`
前向迭代获取批量记录中每一行记录。读完一块内的所有记录后,应用需要在回调函数中继续调用
`taos_fetch_rows_a`
获取下一批记录进行处理,直到返回的记录数(numOfRows)为零(结果返回完成)或记录数为负值(查询出错)。
-
`void taos_fetch_row_a(TAOS_RES *res, void (*fp)(void *param, TAOS_RES *, TAOS_ROW row), void *param);`
异步获取一条记录。其中:
...
...
@@ -329,7 +297,6 @@ C/C++的API类似于MySQL的C API。应用程序使用时,需要包含TDengine
TDengine的异步API均采用非阻塞调用模式。应用程序可以用多线程同时打开多张表,并可以同时对每张打开的表进行查询或者插入操作。需要指出的是,
**客户端应用必须确保对同一张表的操作完全串行化**
,即对同一个表的插入或查询操作未完成时(未返回时),不能够执行第二个插入或查询操作。
### 参数绑定API
除了直接调用
`taos_query`
进行查询,TDengine也提供了支持参数绑定的Prepare API,与 MySQL 一样,这些API目前也仅支持用问号
`?`
来代表待绑定的参数,具体如下:
...
...
@@ -374,7 +341,6 @@ TDengine的异步API均采用非阻塞调用模式。应用程序可以用多线
执行完毕,释放所有资源。
### 连续查询接口
TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时间段,对一张或多张数据库的表(数据流)进行各种实时聚合计算操作。操作简单,仅有打开、关闭流的API。具体如下:
...
...
@@ -391,11 +357,9 @@ TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时
返回值为NULL,表示创建成功,返回值不为空,表示成功。
-
`void taos_close_stream (TAOS_STREAM *tstr)`
关闭数据流,其中提供的参数是taos_open_stream的返回值。用户停止流式计算的时候,务必关闭该数据流。
### 数据订阅接口
...
...
@@ -420,7 +384,6 @@ TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时
*
param:调用
`taos_subscribe`
时客户程序提供的附加参数
*
code:错误码
*
`TAOS_RES *taos_consume(TAOS_SUB *tsub)`
同步模式下,该函数用来获取订阅的结果。 用户应用程序将其置于一个循环之中。 如两次调用
`taos_consume`
的间隔小于订阅的轮询周期,API将会阻塞,直到时间间隔超过此周期。 如果数据库有新记录到达,该API将返回该最新的记录,否则返回一个没有记录的空结果集。 如果返回值为
`NULL`
,说明系统出错。 异步模式下,用户程序不应调用此API。
...
...
@@ -429,11 +392,10 @@ TDengine提供时间驱动的实时流式计算API。可以每隔一指定的时
取消订阅。 如参数
`keepProgress`
不为0,API会保留订阅的进度信息,后续调用
`taos_subscribe`
时可以基于此进度继续;否则将删除进度信息,后续只能重新开始读取数据。
## Python Connector
### 安装准备
*
应用驱动安装请参考
[
安装连接器驱动步骤
](
https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤
)
。
*
应用驱动安装请参考
<a
href=
"https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤"
>
安装连接器驱动步骤
</a>
。
*
已安装python 2.7 or >= 3.4
*
已安装pip 或 pip3
...
...
@@ -537,7 +499,6 @@ for d in data:
sub
.
close
()
```
*
关闭连接
```
python
c1
.
close
()
...
...
@@ -561,7 +522,6 @@ conn.close()
用于生成taos.TDengineConnection的实例。
### Python客户端使用示例代码
在tests/examples/python中,我们提供了一个示例Python程序read_example.py,可以参考这个程序来设计用户自己的写入、查询程序。在安装了对应的客户端后,通过import taos引入taos类。主要步骤如下
...
...
@@ -772,7 +732,7 @@ C#连接器支持的系统有:Linux 64/Windows x64/Windows x86
### 安装准备
*
应用驱动安装请参考
[
安装连接器驱动步骤
](
https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤
)
。
*
应用驱动安装请参考
<a
href=
"https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤"
>
安装连接器驱动步骤
</a>
。
*
.NET接口文件TDengineDrivercs.cs和参考程序示例TDengineTest.cs均位于Windows客户端install_directory/examples/C#目录下。
*
在Windows系统上,C#应用程序可以使用TDengine的原生C接口来执行所有数据库操作,后续版本将提供ORM(dapper)框架驱动。
...
...
@@ -811,12 +771,11 @@ https://github.com/maikebing/Maikebing.EntityFrameworkCore.Taos
https://www.taosdata.com/blog/2020/11/02/1901.html
```
## Go Connector
### 安装准备
*
应用驱动安装请参考
[
安装连接器驱动步骤
](
https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤
)
。
*
应用驱动安装请参考
<a
href=
"https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤"
>
安装连接器驱动步骤
</a>
。
TDengine提供了GO驱动程序
`taosSql`
。
`taosSql`
实现了GO语言的内置接口
`database/sql/driver`
。用户只需按如下方式引入包就可以在应用程序中访问TDengine, 详见
`https://github.com/taosdata/driver-go/blob/develop/taosSql/driver_test.go`
。
...
...
@@ -878,43 +837,43 @@ Node.js连接器支持的系统有:
### 安装准备
* 应用驱动安装请参考
[安装连接器驱动步骤](https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤)
。
* 应用驱动安装请参考
<a href="https://www.taosdata.com/cn/documentation/connector/#安装连接器驱动步骤">安装连接器驱动步骤</a>
。
### 安装Node.js连接器
用户可以通过
[npm](https://www.npmjs.com/)
来进行安装,也可以通过源代码*src/connector/nodejs/* 来进行安装。具体安装步骤如下:
用户可以通过
<a href="https://www.npmjs.com/">npm</a>
来进行安装,也可以通过源代码*src/connector/nodejs/* 来进行安装。具体安装步骤如下:
首先,通过
[npm](https://www.npmjs.com/)
安装node.js 连接器.
首先,通过
<a href="https://www.npmjs.com/">npm</a>
安装node.js 连接器.
```bash
npm install td2.0-connector
```
我们建议用户使用npm 安装node.js连接器。如果您没有安装npm, 可以将*src/connector/nodejs/*拷贝到您的nodejs 项目目录下
我们使用
[node-gyp](https://github.com/nodejs/node-gyp)
和TDengine服务端进行交互。安装node.js 连接器之前,还需安装以下软件:
我们使用
<a href="https://github.com/nodejs/node-gyp">node-gyp</a>
和TDengine服务端进行交互。安装node.js 连接器之前,还需安装以下软件:
### Linux
- `
python
` (建议`
v2.7
` , `
v3.x.x
` 目前还不支持)
- `
node
` 必须采用v10.x版本,其他版本存在包兼容性的问题。
- `
make
`
- c语言编译器比如
[GCC](https://gcc.gnu.org)
- c语言编译器比如
<a href="https://gcc.gnu.org">GCC</a>
### Windows
#### 安装方法1
使用微软的
[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools)
在`
cmd
` 命令行界面执行`
npm install --global --production windows-build-tools
` 即可安装所有的必备工具
使用微软的
<a href="https://github.com/felixrieseberg/windows-build-tools">windows-build-tools</a>
在`
cmd
` 命令行界面执行`
npm install --global --production windows-build-tools
` 即可安装所有的必备工具
#### 安装方法2
手动安装以下工具:
- 安装Visual Studio相关:
[Visual Studio Build 工具](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) 或者 [Visual Studio 2017 Community](https://visualstudio.microsoft.com/pl/thank-you-downloading-visual-studio/?sku=Community)
- 安装
[Python 2.7](https://www.python.org/downloads/)
(`
v3.x.x
` 暂不支持) 并执行 `
npm config set python python2.7
`
- 安装Visual Studio相关:
<a href="https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools>Visual Studio Build 工具</a> 或者 <a href="https://visualstudio.microsoft.com/pl/thank-you-downloading-visual-studio/?sku=Community">Visual Studio 2017 Community</a>
- 安装
<a href="https://www.python.org/downloads/">Python</a> 2.7
(`
v3.x.x
` 暂不支持) 并执行 `
npm config set python python2.7
`
- 进入`
cmd
`命令行界面, `
npm config set msvs_version 2017
`
如果以上步骤不能成功执行, 可以参考微软的node.js用户手册
[Microsoft's Node.js Guidelines for Windows](https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#compiling-native-addon-modules)
如果以上步骤不能成功执行, 可以参考微软的node.js用户手册
<a href="https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#compiling-native-addon-modules">Microsoft's Node.js Guidelines for Windows</a>
如果在Windows 10 ARM 上使用ARM64 Node.js, 还需添加 "Visual C++ compilers and libraries for ARM64" 和 "Visual C++ ATL for ARM64".
...
...
@@ -925,8 +884,6 @@ npm install td2.0-connector
Node-example.js node.js示例源程序
Node-example-raw.js
### 安装验证
在安装好TDengine客户端后,使用nodejsChecker.js程序能够验证当前环境是否支持nodejs方式访问Tdengine。
...
...
@@ -948,7 +905,7 @@ node nodejsChecker.js host=localhost
### Node.js连接器的使用
(http://docs.taosdata.com/node)
以下是node.js 连接器的一些基本使用方法,详细的使用方法可参考
[该文档](http://docs.taosdata.com/node)
以下是node.js 连接器的一些基本使用方法,详细的使用方法可参考
<a href="http://docs.taosdata.com/node">该文档</a>
#### 建立连接
...
...
@@ -1012,7 +969,6 @@ query.execute().then(function(result) {
```
如果在```query```语句里提供第二个参数并设为```true```也可以立即获取查询结果。如下:
```javascript
var promise = cursor.query('select * from meterinfo.meters where v1 = 30;', true)
promise.then(function(result) {
...
...
@@ -1032,9 +988,7 @@ promise2.then(function(result) {
})
```
### 示例
[这里](https://github.com/taosdata/TDengine/tree/master/tests/examples/nodejs/node-example.js)提供了一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例
[这里](https://github.com/taosdata/TDengine/tree/master/tests/examples/nodejs/node-example-raw.js)同样是一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例,但和上面不同的是,该示例只使用`
cursor
`
.
<a href="https://github.com/taosdata/TDengine/tree/master/tests/examples/nodejs/node-example.js">这里</a>提供了一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例
<a href="https://github.com/taosdata/TDengine/tree/master/tests/examples/nodejs/node-example-raw.js">这里</a>同样是一个使用NodeJS 连接器建表,插入天气数据并查询插入的数据的代码示例,但和上面不同的是,该示例只使用`
cursor
`
.
\ No newline at end of file
documentation20/webdocs/markdowndocs/connector-java-ch.md
浏览文件 @
6658d95c
...
...
@@ -26,7 +26,6 @@ TDengine 的 JDBC 驱动实现尽可能的与关系型数据库驱动保持一
*
目前不支持表间的 union 操作。
*
目前不支持嵌套查询(nested query),对每个 Connection 的实例,至多只能有一个打开的 ResultSet 实例;如果在 ResultSet还没关闭的情况下执行了新的查询,TSDBJDBCDriver 则会自动关闭上一个 ResultSet。
## TAOS-JDBCDriver 版本以及支持的 TDengine 版本和 JDK 版本
| taos-jdbcdriver 版本 | TDengine 版本 | JDK 版本 |
...
...
@@ -75,7 +74,6 @@ maven 项目中使用如下 pom.xml 配置即可:
下载
[
TDengine
][
3
]
源码之后,进入 taos-jdbcdriver 源码目录
`src/connector/jdbc`
执行
`mvn clean package`
即可生成相应 jar 包。
## 使用说明
### 获取连接
...
...
@@ -217,7 +215,6 @@ while(resultSet.next()){
```
> 查询和操作关系型数据库一致,使用下标获取返回字段内容时从 1 开始,建议使用字段名称获取。
### 订阅
#### 创建
...
...
@@ -260,7 +257,6 @@ sub.close(true);
`
close
` 方法关闭一个订阅。如果其参数为 `
true
` 表示保留订阅进度信息,后续可以创建同名订阅继续消费数据;如为 `
false
` 则不保留订阅进度。
### 关闭资源
```java
...
...
@@ -408,4 +404,4 @@ Query OK, 1 row(s) in set (0.000141s)
[
12
]:
https://github.com/taosdata/TDengine/tree/develop/tests/examples/JDBC/springbootdemo
[
13
]:
https://www.taosdata.com/cn/documentation20/administrator/#%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%85%8D%E7%BD%AE
[
14
]:
https://www.taosdata.com/cn/all-downloads/#TDengine-Windows-Client
[
15
]:
https://www.taosdata.com/cn/getting-started/#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B
[
15
]:
https://www.taosdata.com/cn/getting-started/#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录