Fehler beim Erstellen einer DatenbankverbindungIch versuche, durch Scripting eine Verbindung zur Datenbank herzustellen, und es ist das erste Mal, dass ich das mache. Ich konnte das folgende Skript erstellen, aber es scheint, dass es einen Fehler gibt, dass jedes Mal, wenn eine Verbindung fehlschlägt, ein Standard-Popup "JMP Alert" (siehe Schnappschuss) angezeigt wird, anstatt in der Funktion "Try" enthalten zu sein (ich habe es versucht mit ein falscher Datenbankname von "TEST", der zu dem Popup geführt hat. Gibt es eine Möglichkeit, dies zu kontrollieren?
Gibt es außerdem gutes Lesematerial (z. B. grundlegende bewährte Verfahren) zum Einbinden von SQL in JMP-Skript?
Vielen Dank!
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>

SkripterstellungBetreff: Fehler beim Erstellen einer DatenbankverbindungHallo @Mark_Bailey . Ja, du hast Recht. Definitiv ein guter Ausgangspunkt, um das Quelltabellenskript zu nutzen. Ich suchte nach anderen Möglichkeiten, da ich die Verwendung dieses Skripts möglicherweise auf andere potenzielle Benutzer in meinen Organisationen ausdehnen musste, die möglicherweise nicht so vertraut mit JMP sind, geschweige denn mit Skripten. Danke für den Rat 
Betreff: Fehler beim Erstellen einer DatenbankverbindungIch schlage vor, dass Sie sich in Zukunft zuerst interaktiv verbinden, um zu beweisen, dass eine Verbindung möglich ist. Ein zusätzlicher Vorteil besteht darin, dass JMP ein Quelltabellenskript mit der richtigen JSL für dasselbe Ergebnis schreibt. Sie können dieses Skript in Ihr eigenes kopieren, anstatt Ihr eigenes zu schreiben und zu debuggen.
Betreff: Fehler beim Erstellen einer DatenbankverbindungAh, sorry, ausgelassen. Wenn JMP glaubt, dass es im Batch-Modus ausgeführt wird (alte Terminologie für Batch-Verarbeitungsdaten, ohne Terminal für Benutzereingaben), werden diese Warnungen in das Protokoll geschrieben und eine Standardantwort ausgeführt. Andernfalls öffnet JMP im interaktiven Modus einen modalen Dialog, um die Antwort zu erhalten. Wenn eine Schaltfläche gedrückt wurde, um JSL zu starten, ist das interaktive Verhalten meistens korrekt. Und wenn ein Skript eingereicht wird (vielleicht beim Mittagessen), kommen Sie lieber nicht auf ein "OK?" zurück. Dialog. Schaltflächenskripte sind in der Regel kurz, sodass die Heuristik in der Regel funktioniert.
Betreff: Fehler beim Erstellen einer DatenbankverbindungDanke @Craige_Hales . Ich verstehe nicht, was genau "Batch Interactive ()" tut, aber es löst das Problem. 
Betreff: Fehler beim Erstellen einer DatenbankverbindungProbieren Sie eine Variation davon aus.
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 );
Sie können logcapture() verwenden, wenn die Protokollnachricht ein Problem darstellt.
Ich denke, die Verwendung des zurückgegebenen Werts vom ersten Batchinteractive-Aufruf, der an den zweiten übergeben wird, ist der richtige Weg, um das Flag zu drücken/zu platzen. Ich denke, JMP drängt intern auf "interaktiv" für das Flag, wenn ein Skript über eine Schaltfläche ausgeführt wird.
Notiz aus @Wendy_Murphrey . Wenn Sie die Community durchsuchen, erhalten Sie mehr Verlaufsinformationen zu Batch Interactive.