Crea errore di connessione al databaseSto cercando di stabilire una connessione al database tramite script ed è la prima volta che lo faccio. Sono stato in grado di creare il seguente script ma sembra che ci sia un bug che ogni volta che non c'è una connessione riuscita, c'è un pop-up predefinito "JMP Alert" (vedi snapshot) invece di essere contenuto all'interno della funzione "Try" (stavo provando con un nome di database errato di "TEST" che ha portato al pop-up. C'è un modo per controllare questo?
Inoltre, esiste del buon materiale di lettura (ad es. le migliori pratiche di base) per l'incorporazione di SQL in script JMP?
Grazie molto!
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>

ScriptingRe: errore di connessione al databaseProva qualche variazione di questo.
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 );
Puoi usare logcapture() se il messaggio di log è un problema.
Penso che l'utilizzo del valore restituito dalla prima chiamata batchinteractive per passare alla seconda sia il modo giusto per spingere/sbloccare il flag. Penso che JMP stia spingendo internamente "interattivo" per il flag quando uno script viene eseguito da un pulsante.
Nota a partire dal @Wendy_Murphrey . La ricerca nella comunità produrrà più cronologia su batch interattivo.
Re: errore di connessione al databaseGrazie @Craige_Hales . Non capisco cosa faccia esattamente "Batch Interactive ()", ma risolve il problema. 
Re: errore di connessione al databaseAh, scusa, l'ho lasciato fuori. Se JMP ritiene di essere in esecuzione in modalità batch (antica terminologia sui dati di elaborazione batch, senza un terminale per l'input dell'utente), tali avvisi vengono scritti nel registro e viene fornita una risposta predefinita. Altrimenti, in modalità interattiva, JMP apre una finestra di dialogo modale per ottenere la risposta. La maggior parte delle volte, se è stato premuto un pulsante per avviare JSL, il comportamento interattivo è corretto. E se viene inviato un copione (forse durante il pranzo) preferiresti non tornare a un "ok?" dialogo. Gli script dei pulsanti tendono ad essere brevi, quindi l'euristica tende a funzionare.
Re: Crea errore di connessione al databaseSuggerisco che, in futuro, ti connetti prima in modo interattivo per dimostrare che una connessione è possibile. Un ulteriore vantaggio è che JMP scriverà uno script della tabella di origine con il JSL corretto per lo stesso risultato. Puoi copiare questo script sul tuo invece di scrivere e eseguire il debug del tuo,
Re: Crea errore di connessione al databaseCiao @markbailey . Sì, hai ragione. Sicuramente un buon punto di partenza per sfruttare lo script della tabella Source. Stavo esplorando altri modi in cui potrei aver bisogno di espandere l'uso di questo script ad altri potenziali utenti all'interno delle mie organizzazioni che potrebbero non avere familiarità con JMP, per non parlare degli script. Grazie per il consiglio 