digiRunner Composer node-red

Composer digiRunner-database-connector 節點的用法介紹

顏綸 Lun Yan 2024/11/24 18:13:01
169

前言

當需要處理各種資料庫時,Composer 提供了一個功能強大的節點,

讓您輕鬆進行 CRUD(創建、讀取、更新和刪除)操作。這個節點不僅可以隨時切換要使用的資料庫,而且特別易於管理憑證,使資料庫操作更加便捷和安全。

以下將介紹該節點的用法與管理

 

 

一、設定

1. 管理憑證

系統管理 -> RDB 連線

 

建立/更新 設定介面:

 

a) Connection Name:自定義連接名稱。這個名稱將給 digiRunner-database-connector 節點辨識要連哪個資料庫

如下圖紅框所示,會填入至該節點欄位

 

(b) JDBC URL: Java 資料庫連接 (JDBC) 的 URL 地址。

 

(c) User Name:資料庫用戶名。

 

(d) Password:資料庫密碼欄。

密碼之後顯示會經過加密處理,以保護其安全性。

如果密碼為空,則不必填,不須刻意去填 "ENC()"。

 

(e) Max Pool Size:最大連接池大小。此處設置為 10,表示最多允許 10 個連接同時存在於連接池中。

 

(f) Connection Timeout (ms):連接超時時間(毫秒)。此處設置為 30000 毫秒(30 秒),

表示在嘗試連接到資料庫時,如果超過這個時間還未成功,則會拋出一個超時異常。

 

(g) Idle Timeout (ms):空閒超時時間(毫秒)。此處設置為 600000 毫秒(10 分鐘),

表示如果一個連接空閒超過這個時間,則該連接會被從連接池中移除。

 

(h) Max Lifetime(ms):連接最大存活時間(毫秒)。此處設置為 1800000 毫秒(30 分鐘),

表示不論一個連接是否空閒,只要其存活時間超過這個值,則該連接會被從連接池中移除。

 

(i) HikariConfig Data Source Properties:額外的資料源屬性設置。

 

2. 節點設定

(a) DatabaseName:依 digiRunner 的 RDB 連線設定內的名稱來填入

 

(b) 節點名稱:可設定節點的名稱

 

 

二、範例

以下為使用節點來對 MSSQL 進行操作的範例:

 

1. 建立

參數傳入:

msg.query = "INSERT INTO TSMP_RTN_CODE (TSMP_RTN_CODE, LOCALE, TSMP_RTN_MSG, TSMP_RTN_DESC) VALUES(?,?,?,?)"

 

節點回傳參數:

updateRows: 1 表示成功建立一筆。

 

2. 查詢

參數傳入:

msg.query = "SELECT * FROM TSMP_RTN_CODE WHERE TSMP_RTN_CODE=? AND TSMP_RTN_DESC=?"

 

節點回傳參數:

如果陣列為 0,表示查不到。

 

3. 更新

參數傳入:

msg.query = "UPDATE TSMP_RTN_CODE  SET  TSMP_RTN_MSG=? WHERE TSMP_RTN_CODE=?"

 

節點回傳參數:

表示成功更新一筆,這時候再回去查看看是否有把 TSMP_RTN_MSG 更新為 "opop":

 

4. 刪除

參數傳入:

msg.query = "DELETE TSMP_RTN_CODE WHERE TSMP_RTN_MSG=?"

 

節點回傳參數:

updateRows: 1 表示成功刪除一筆。

 

使用重點

(a) query 就是該資料庫的語法。

(b) query 有幾個問號,msg.payload 陣列就有多長。

(c) digiRunner-database-connector 節點如果已填上 dbConnectorName,但還是有傳入 msg.dbConnectorName,

則會以 msg.dbConnectorName 的為主。

(d) 回傳的結果會放在 msg.payload。

(c) 發生任何錯誤時,會拋出錯誤並進入 catch 節點。

 

 

三、結語

以上是 digiRunner-database-connector 節點的基本使用指南,配合著 digiRunner 的 RDB 連線設定會真心發現實在很方便,

能一次管理所有的憑證,不必再進編輯器內修改 credentials。

希望這篇能讓您對該節點有著基本的認識,未來會再繼續分享關於這個節點的進階應用與情境。

 

 

四、參考文獻

(1) node-red 官方

(2) 自己

(3) 教學影片

顏綸 Lun Yan