目標 Common
- 若遇到存放資料庫的伺服器重啟,或者資料庫本身服務重啟,都會造成InTouch畫面數據停止更新,原因是InTouch與資料庫的連線可能未重新建立。
- 將重複的程式碼寫成QuickFunctions方法,以利呼叫
說明
步驟1:建立與資料庫連線的方法
使用時機:
- 當Application啟動時,第一次與資料庫連線
- 當確認資料庫中斷後,再嘗試與資料庫進行連線
於QuickFunctions創建方法- CreateSQLConnection,並撰寫程式
ResultCode = SQLConnect(ConnectionId, "Provider=SQLOLEDB; DATA SOURCE=127.0.0.1; UID=sa; PWD=sa; DataBase=test_database;" ); ErrorMsg = SQLErrorMsg(ResultCode); LogMessage("SQL connect, Error msg:" + ErrorMsg);
步驟2:每分鐘確認資料庫連線是否存在
於Data Change創建方法,並選擇點位$Minute即每分鐘觸發該方法,並撰寫程式
// 任意寫一個SQL方法,除了SQLConnect以外 // SQLSelect( ConnectionId, TableName, BindList, WhereExpr, OrderByExpr ); ResultCode = SQLSelect(ConnectionId, "test_table", "test_bindlist", "", ""); // 若連線失敗,會回傳-1 IF ResultCode == -1 THEN CALL CreateSQLConnection(); SQLSelect(ConnectionId, "test_table", "test_bindlist", "", ""); ENDIF; ...
沒有留言:
張貼留言