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