From c2d353f5432cfeb200ee4b189ae4651958a52dcc Mon Sep 17 00:00:00 2001 From: haojun Liao Date: Tue, 3 Dec 2019 22:43:20 +0800 Subject: [PATCH 1/3] Update administrator-ch.md add more information about client configuration. --- .../webdocs/markdowndocs/administrator-ch.md | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/documentation/webdocs/markdowndocs/administrator-ch.md b/documentation/webdocs/markdowndocs/administrator-ch.md index ed822fb8c9..b2e66b7568 100644 --- a/documentation/webdocs/markdowndocs/administrator-ch.md +++ b/documentation/webdocs/markdowndocs/administrator-ch.md @@ -66,12 +66,25 @@ TDengine系统后台服务由taosd提供,可以在配置文件taos.cfg里修 ## 客户端配置 -TDengine系统的前台交互客户端应用程序为taos,它与taosd共享同一个配置文件taos.cfg。运行taos时,使用参数-c指定配置文件目录,如taos -c /home/cfg,表示使用/home/cfg/目录下的taos.cfg配置文件中的参数,缺省目录是/etc/taos。更多taos的使用方法请见[Shell命令行程序](#_TDengine_Shell命令行程序)。本节主要讲解taos客户端应用在配置文件taos.cfg文件中使用到的参数。 +TDengine系统的前台交互客户端应用程序为taos(Windows平台上为taos.exe),可以使用taos.cfg来配置启动和运行配置项。可以使用 `taos -?` 来获取全部的可选项。 +启动的时候如果不指定taos加载配置文件路径,默认读取`/etc/taos/`路径下的`taos.cfg`文件来设置启动选项,如果在默认路径下找不到配置文件,则使用默认配置的设置来启动程序,并且会在启动的时候打印一行告警信息。指定配置文件来启动`taos`的命令如下: +``` +taos -c /home/cfg/ +``` +**注意:启动设置的是配置文件所在目录,而不是配置文件本身** -客户端配置参数列表及解释 +如果`/home/cfg/`目录下没有配置文件,程序会继续启动并打印如下告警信息: +``` +Welcome to the TDengine shell from linux, client version:1.6.4.0 +option file:/home/cfg/taos.cfg not found, all options are set to system default +``` +更多taos的使用方法请见[Shell命令行程序](#_TDengine_Shell命令行程序)。本节主要讲解taos客户端应用在配置文件taos.cfg文件中使用到的参数。 + +客户端配置参数如下 - masterIP:客户端默认发起请求的服务器的IP地址 -- charset:指明客户端所使用的字符集,默认值为UTF-8。TDengine存储nchar类型数据时使用的是unicode存储,因此客户端需要告知服务自己所使用的字符集,也即客户端所在系统的字符集。 +- charset:指明客户端所使用的字符集,默认值为UTF-8。TDengine为了存储中文、日文等非ASCII编码的宽字符,提供一种专门的字段类型`nchar`。如果数据写入`nchar`字段,将统一采用`UCS4-LE`格式对字段中数据进行编码存储。需要注意的是,**编码正确性**是客户端来保证。因此,如果用户想要正常使用`nchar`字段来存储诸如中文、日文等非ASCII字符,需要正确设置客户端的编码格式。客户端的输入的字符均采用操作系统当前默认的编码格式,在Linux系统上多为`UTF-8`,也有部分中文编码,例如`GB18030`或`GBK`等。在docker环境中默认的编码是`POSIX`。因此,客户端需要设置自己所使用的字符集,即所在系统的当前编码字符集才能正确地确保数据转换为`UCS4-LE`编码格式。 +如果配置文件中不设置`charset`,taos将自动读取系统当前的locale信息,并从locale信息中解析提取charset编码格式。如果自动读取locale信息失败,则中断启动,要求用户在配置文件中指定charset,才能正常启动。 - locale:设置系统语言环境。Linux上客户端与服务端共享 - defaultUser:默认登录用户,默认值root - defaultPass:默认登录密码,默认值taosdata @@ -193,4 +206,4 @@ KILL STREAM TDengine启动后,会自动创建一个监测数据库SYS,并自动将服务器的CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度、慢查询等信息定时写入该数据库。TDengine还将重要的系统操作(比如登录、创建、删除数据库等)日志以及各种错误报警信息记录下来存放在SYS库里。系统管理员可以从CLI直接查看这个数据库,也可以在WEB通过图形化界面查看这些监测信息。 -这些监测信息的采集缺省是打开的,但可以修改配置文件里的选项enableMonitor将其关闭或打开。 \ No newline at end of file +这些监测信息的采集缺省是打开的,但可以修改配置文件里的选项enableMonitor将其关闭或打开。 From 5a00db8e427de6c4dff3e1fa4cd0bd10324e1149 Mon Sep 17 00:00:00 2001 From: fang Date: Wed, 4 Dec 2019 09:04:57 +0800 Subject: [PATCH 2/3] Chinese version for node.js connector --- .../webdocs/markdowndocs/Connector.md | 8 +- .../webdocs/markdowndocs/connector-ch.md | 136 ++++++++++++++++++ 2 files changed, 140 insertions(+), 4 deletions(-) diff --git a/documentation/webdocs/markdowndocs/Connector.md b/documentation/webdocs/markdowndocs/Connector.md index 2ecb14c710..a979c0158e 100644 --- a/documentation/webdocs/markdowndocs/Connector.md +++ b/documentation/webdocs/markdowndocs/Connector.md @@ -533,15 +533,15 @@ To interact with TDengine, we make use of the [node-gyp](https://github.com/node in your Terminal) - - This step will install `gcc` and the related toolchain containing `make` + - 安装`gcc` 和`make` -### On Windows +### Windows -#### Option 1 +#### 安装方法1 Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) using `npm install --global --production windows-build-tools` from an elevated PowerShell or CMD.exe (run as Administrator). -#### Option 2 +#### 安装方法2 Install tools and configuration manually: diff --git a/documentation/webdocs/markdowndocs/connector-ch.md b/documentation/webdocs/markdowndocs/connector-ch.md index 4266ddffc4..1cc03703be 100644 --- a/documentation/webdocs/markdowndocs/connector-ch.md +++ b/documentation/webdocs/markdowndocs/connector-ch.md @@ -524,3 +524,139 @@ taosSql驱动包内采用cgo模式,调用了TDengine的C/C++同步接口,与 3. 创建表、写入和查询数据 在创建好了数据库后,就可以开始创建表和写入查询数据了。这些操作的基本思路都是首先组装SQL语句,然后调用db.Exec执行,并检查错误信息和执行相应的处理。可以参考上面的样例代码 + +## Node.js Connector + +TDengine 同时也提供了node.js 的连接器。用户可以通过[npm](https://www.npmjs.com/)来进行安装,也可以通过源代码*src/connector/nodejs/* 来进行安装。[具体安装步骤如下](https://github.com/taosdata/tdengine/tree/master/src/connector/nodejs): + +首先,通过[npm](https://www.npmjs.com/)安装node.js 连接器. + +```cmd +npm install td-connector +``` +我们建议用户使用npm 安装node.js连接器。如果您没有安装npm, 可以将*src/connector/nodejs/*拷贝到您的nodejs 项目目录下 + +To interact with TDengine, we make use of the [node-gyp](https://github.com/nodejs/node-gyp) library. To install, you will need to install the following depending on platform (the following instructions are quoted from node-gyp)我们使用[node-gyp](https://github.com/nodejs/node-gyp)和TDengine服务端进行交互。安装node.js 连接器之前,还需安装以下软件: + +### Unix + +- `python` (建议`v2.7` , `v3.x.x` 目前还不支持) +- `make` +- c语言编译器比如[GCC](https://gcc.gnu.org) + +### macOS + +- `python` (建议`v2.7` , `v3.x.x` 目前还不支持) + +- Xcode + + - 然后通过Xcode安装 + + ``` + Command Line Tools + ``` + + 在 + ``` + Xcode -> Preferences -> Locations + ``` + + 目录下可以找到这个工具。或者在终端里执行 + + ``` + xcode-select --install + ``` + + + - 该步执行后 `gcc` 和 `make`就被安装上了 + +### Windows + +#### 安装方法1 + +使用微软的[windows-build-tools](https://github.com/felixrieseberg/windows-build-tools)在`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` +- 进入`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) + +如果在Windows 10 ARM 上使用ARM64 Node.js, 还需添加 "Visual C++ compilers and libraries for ARM64" 和 "Visual C++ ATL for ARM64". + +### 使用方法 + +(http://docs.taosdata.com/node) +以下是node.js 连接器的一些基本使用方法,详细的使用方法可参考[该文档](http://docs.taosdata.com/node) + +#### 连接 + +使用node.js连接器时,必须先require```td-connector```,然后使用 ```taos.connect``` 函数。```taos.connect``` 函数必须提供的参数是```host```,其它参数在没有提供的情况下会使用如下的默认值。最后需要初始化```cursor``` 来和TDengine服务端通信 + +```javascript +const taos = require('td-connector'); +var conn = taos.connect({host:"127.0.0.1", user:"root", password:"taosdata", config:"/etc/taos",port:0}) +var cursor = conn.cursor(); // Initializing a new cursor +``` + +关闭连接可执行 + +```javascript +conn.close(); +``` + +#### 查询 + +可通过 ```cursor.query``` 函数来查询数据库。 + +```javascript +var query = cursor.query('show databases;') +``` + +查询的结果可以通过 ```query.execute()``` 函数获取并打印出来 + +```javascript +var promise = query.execute(); +promise.then(function(result) { + result.pretty(); +}); +``` +格式化查询语句还可以使用```query```的```bind```方法。如下面的示例:```query```会自动将提供的数值填入查询语句的```?```里。 + +```javascript +var query = cursor.query('select * from meterinfo.meters where ts <= ? and areaid = ?;').bind(new Date(), 5); +query.execute().then(function(result) { + result.pretty(); +}) +``` +如果在```query```语句里提供第二个参数并设为```true```也可以立即获取查询结果。如下: + + +```javascript +var promise = cursor.query('select * from meterinfo.meters where v1 = 30;', true) +promise.then(function(result) { + result.pretty(); +}) +``` +#### 异步函数 +异步查询数据库的操作和上面类似,只需要在`cursor.execute`, `TaosQuery.execute`等函数后面加上`_a`。 +```javascript +var promise1 = cursor.query('select count(*), avg(v1), avg(v2) from meter1;').execute_a() +var promise2 = cursor.query('select count(*), avg(v1), avg(v2) from meter2;').execute_a(); +promise1.then(function(result) { + result.pretty(); +}) +promise2.then(function(result) { + result.pretty(); +}) +``` + + +### 示例 +[这里](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`. \ No newline at end of file From ccb02180f41a7746f21c95ecbda04cf327570515 Mon Sep 17 00:00:00 2001 From: fang Date: Wed, 4 Dec 2019 09:10:49 +0800 Subject: [PATCH 3/3] Chinese version for node.js connector --- documentation/webdocs/markdowndocs/Connector.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/webdocs/markdowndocs/Connector.md b/documentation/webdocs/markdowndocs/Connector.md index a979c0158e..2ecb14c710 100644 --- a/documentation/webdocs/markdowndocs/Connector.md +++ b/documentation/webdocs/markdowndocs/Connector.md @@ -533,15 +533,15 @@ To interact with TDengine, we make use of the [node-gyp](https://github.com/node in your Terminal) - - 安装`gcc` 和`make` + - This step will install `gcc` and the related toolchain containing `make` -### Windows +### On Windows -#### 安装方法1 +#### Option 1 Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) using `npm install --global --production windows-build-tools` from an elevated PowerShell or CMD.exe (run as Administrator). -#### 安装方法2 +#### Option 2 Install tools and configuration manually: