スクリプトを使用してデータベースへの接続を確立しようとしていますが、これを行うのは初めてです。 次のスクリプトを作成できましたが、接続に失敗するたびに、「Try」機能に含まれているのではなく、デフォルトの「JMP Alert」ポップアップ(スナップショットを参照)が表示されるというバグがあるようです(私はポップアップの原因となった "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 を開始するためにボタンが押された場合、対話型の動作は正しくなります。 そして、スクリプトが (おそらく昼食時に) 提出された場合、「OK?」という質問に戻ってくるのは避けたいでしょう。ダイアログ。 ボタン スクリプトは短い傾向があるため、ヒューリスティックが機能する傾向があります。
ありがとう@Craige_Hales . 「バッチインタラクティブ()」が何をするのか正確にはわかりませんが、問題は解決します。 
これのいくつかのバリエーションを試してください。
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() を使用できます。
最初の batchinteractive 呼び出しから返された値を使用して 2 番目に渡すことが、フラグをプッシュ/ポップする正しい方法だと思います。 スクリプトがボタンから実行されると、JMP は内部的にフラグの「インタラクティブ」をプッシュしていると思います。
ノートから@ウェンディ_マーフリー. コミュニティを検索すると、バッチ インタラクティブに関する詳細な履歴が生成されます。