Composer digiRunner-database-connector 節點的用法介紹
前言
當需要處理各種資料庫時,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) 教學影片