我正在嘗試透過腳本建立與資料庫的連接,這是我第一次這樣做。 我能夠創建以下腳本,但似乎存在一個錯誤,每次連接不成功時,都會出現一個預設的“JMP Alert”彈出視窗(請參閱快照),而不是包含在“Try”功能中(我正在嘗試使用錯誤的資料庫名稱“TEST”導致彈出視窗。 有辦法控制這個嗎?
此外,是否有任何好的閱讀材料(例如基本最佳實踐)可將 SQL 合併到 JMP 腳本中?
非常感謝!
names default to here(1);
//Standard SQL syntax string to create database connection from JMP
DB.SQL = "DSN="||"DSN_Name" ||";Description=" || "DSN_Desc" || ";
Trusted_Connection=Yes;APP=JMP;DATABASE="|| "DB_Name" || ";";
//Expression to arrange the User Interface of PODS setup
//Require users to input Database Source Name (DSN Name), Database Source Description (DSN Description) and Database Name
DB_Connection.UI = expr(
Hlistbox(spacerbox(size(5,5)),
Vlistbox(align("right"),spacerbox(size(5,5)),
vb1_1 = vlistbox(align("left"),
panelbox("Insert PODS Connection Info",
lineupbox(ncol(2),
Textbox("DSN Name : "),TEB_DSN_Name = Texteditbox("",set width(150)),
Textbox("DSN Description : "),TEB_DSN_Desc = Texteditbox("",set width(150)),
Textbox("Database Name : "),TEB_DB_Name = Texteditbox("",set width(150))
)
),
spacerbox(size(5,5)),
temp1_1 = Textbox("PODS Connection Status: ")
),
spacerbox(size(3,3)),
Test_DB_Connection.button,
spacerbox(size(3,3)),
button box(" Cancel ",currentwindow()<<CLOSE window=""></CLOSE>

你好@馬克貝利。 是的,你是對的。 絕對是利用來源表腳本的良好起點。 我正在探索其他方法,因為我可能需要將此腳本的使用擴展到我的組織內的其他潛在用戶,這些用戶可能不熟悉 JMP,更不用說腳本了。 謝謝你的建議:)
我建議,以後你先進行交互連接,以證明連接是可能的。 另一個好處是,JMP 將使用正確的 JSL 編寫來源表腳本以獲得相同的結果。 您可以將此腳本複製到您自己的腳本中,而不必編寫和偵錯自己的腳本,
啊,抱歉,忽略了這一點。 如果 JMP 認為它正在以批次模式(有關批次資料的古老術語,沒有用於使用者輸入的終端)運行,則這些警報將寫入日誌並做出預設回應。 否則,在交互模式下,JMP 將開啟一個模式對話框來獲取回應。 大多數時候,如果按下按鈕來啟動某些 JSL,則互動行為是正確的。 如果提交了腳本(也許是在午餐時),您不想再回答“好吧?”對話。 按鈕腳本往往很短,因此啟發式往往會起作用。
謝謝@Craige_Hales 。 我不明白「Batch Interactive ()」到底是做什麼的,但它解決了問題。 :D
嘗試一些變體。
bi = Batch Interactive( 1 );
Try(
db = Create Database Connection( DB.SQL_Updated );
If( Is Missing( db ),
Print( "unable..." ) // I think this is the right way to notice the error
);
,
Print( "Unable to connect to Database" ) // I think this may not happen?
);
Batch Interactive( bi );
如果日誌訊息有問題,您可以使用 logcapture()。
我認為使用第一個批次互動式呼叫的傳回值傳遞給第二個批次是推送/彈出標誌的正確方法。 我認為當從按鈕運行腳本時,JMP 在內部推動標誌“互動式”。
筆記從@Wendy_Murphrey 。 搜尋社群將產生更多有關批量互動的歷史記錄。