全部,
我有一個腳本可以拉取世界各地的各種數據庫。 此腳本是計劃和自動化的。 這意味著它會做它所做的事情,保存所有表,關閉 JMP,然後完成任務。
但是,有時一兩個 DB 沒有響應。 LDAP 服務器已關閉,不接受我的密碼或某些數據庫維護等。
在這種情況下,我會得到一個這樣的彈出窗口:

即使發生這種情況時我在場並單擊“取消”,腳本也會在未完成的情況下退出。
我有從封裝在 try\catch 塊中的 DB 中提取數據的功能 - 當我手動單擊“取消”按鈕時似乎沒有幫助... 但更重要的是 - 在這種情況下我如何在無人監督的情況下運行腳本? 我該如何告訴它 - 如果您無法連接到其中一個數據庫 - 放手,從其餘數據庫中提取數據並處理您擁有的... 不要僅僅因為其中一個數據庫沒有響應就掛斷整個腳本...... 我如何擺脫那個彈出窗口,只是認為它嘗試失敗,移動到 catch 塊並繼續執行腳本?
這是負責此的腳本部分:
DBPaths = [
"Server1" => "ODBC:DSN=...PORT=5432;",
"Server2" => "ODBC:DSN=...PORT=5432;",
"Server3" => "ODBC:DSN=...PORT=5432;",
"Server4" => "ODBC:DSN=...PORT=5432;",
"Server5" => "ODBC:DSN=...PORT=5432;"];
myQuery = Function( {serverDBPath, server},
New SQL Query(
Version( 130 ),
Connection( serverDBPath ),
QueryName( server ),
Select( ... ),
From( ... ),
Where( ... ),
PostQueryScript( ... )
) << Run Foreground()
);
myDTs = {};
For Each( {{server, DBPath}, index}, DBPaths,
Show( server, DBPath, index );
Try( myDTs[index] = myQuery( DBPath, server ), writeToLog( server || " Query error... Using: " || DBPath ||" Error message: "||exception_msg[1] ) );
);謝謝,
M。