讀取資料庫轉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