读取数据库转JSON输出
# TaskRunner 自定程序 - 读取数据库转 JSON 输出
# 1. 说明
- 任务运行器 TaskRunner 通过自定程序,调用预设的数据库设置连接数据库。
- 任务运行器 TaskRunner 通过数据库查询语句,执行数据库查询,并将获取的结果以 JSON 格式返回。
- 如需要自定义查询,请先设置 数据库设置 的内容。
# 2. 设计程序
TaskRunner 的初始示例已包含 读取数据库转JSON输出
自定程序。下面介绍创建自定程序的流程。
- 点击
自定程序
选项卡,在自定程序界面中点击新建
按钮,打开新建程序界面。 - 在新建程序界面,填写要设计的自定程序的基本信息。如下图所示。填写完成点击
保存
按钮。
- 返回自定程序列表界面,选择刚才创建的
JS010
自定程序,点击菜单栏中的设计
按钮,打开程序设计器界面。 - 在程序设计器界面中输入自定程序代码,代码示例如下。完成后,点击
保存
按钮。
{
var d,connection,command,s;
connection = UgParams.Values["connection"]; //数据库设置的名称
command = UgParams.Values["command"]; //数据库查询语句
d = new TFastDataSet(nil);
TFastDataSet(d).ConnectionDefName = iif(connection != "",connection,"demo");
TFastDataSet(d).CommandText = iif(command != "",command,"Select top 10 * from Basic_Cust");
TFastDataSet(d).Open;
s = TFastDataSet(d).ToJSONArrayString;
//以下语句仅在本机运行测试中使用,请勿在 RestAPI MQTT WebSocket 调用时使用。
//Showmessage(s);
UGCM.WriteSysLog(s);
d.Free;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14

- 如需要测试效果,可在程序设计器界面中,将第11行的内容取消注释,点击
运行
按钮进行测试。

程序中定义的参数说明如下:
名称 | 说明 | 是否必填 | 默认值 |
---|---|---|---|
connection | 数据库设置的连接名称 | 是 | demo |
command | 数据库的查询语句 | 是 | Select top 10 * from Basic_Cust |
# 3. 调用执行
设计完成的自定程序可使用以下方式来调用执行。
# 3.1. RestAPI
使用浏览器或RestAPI 客户端,访问以下地址,执行自定程序调用。请将 {ip}
修改为运行 TaskRunner 主机的IP地址,{port}
修改为 TaskRunner WebSocket 服务端监听的地址。 evaluate
用于指定要获取变量的名称,此处设置为 JSON 字符串存储的变量 s
。responsecontenttype
用于指定返回的内容的类型,由于返回的内容为 JSON,此处设置为 application/json
。
http://{ip}:{port}?restapi=script&taskname=JS010&evaluate=s&responsecontenttype=application/json
1
如需要自行指定数据连接设置的名称与查询项目,参照以下方式执行。请将 {connection}
替换为目标数据连接设置名称,将 {command}
替换为目标查询语句。
http://{ip}:{port}?restapi=script&taskname=JS010&evaluate=s&responsecontenttype=application/json&connection={connection}&command={command}
1