Fehler beim Erstellen der DatenbankverbindungIch versuche, eine Verbindung zur Datenbank durch Skripting herzustellen, und es ist das erste Mal, dass ich dies tue. Ich konnte das folgende Skript erstellen, aber es scheint einen Fehler zu geben, dass jedes Mal, wenn eine Verbindung fehlgeschlagen ist, ein standardmäßiges "JMP Alert"-Popup (siehe Schnappschuss) angezeigt wird, anstatt in der Funktion "Versuchen" enthalten zu sein (ich habe es mit versucht) ein falscher Datenbankname von "TEST", was zu dem Pop-up führte. Gibt es eine Möglichkeit dies zu kontrollieren?
Gibt es außerdem gutes Lesematerial (zB grundlegende Best Practices) für die Integration von SQL in JMP-Skripte?
Danke vielmals!
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>

SkriptingRe: Fehler beim Erstellen der 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 aus dem ersten Batchinteractive-Aufruf zur Übergabe an den zweiten ist der richtige Weg, um das Flag zu drücken/auszudrücken. Ich denke, JMP drückt intern "interaktiv" für das Flag, wenn ein Skript über eine Schaltfläche ausgeführt wird.
Notiz von @Wendy_Murphrey . Wenn Sie die Community durchsuchen, erhalten Sie mehr Informationen zu Batch Interactive.
Re: Fehler beim Erstellen der DatenbankverbindungVielen Dank @Craige_Hales . Ich verstehe nicht, was genau "Batch Interactive()" macht, aber es löst das Problem. 
Re: Fehler beim Erstellen der DatenbankverbindungAh, sorry, hab das weggelassen. Wenn JMP der Meinung ist, dass es im Batch-Modus ausgeführt wird (alte Terminologie zur Batch-Verarbeitung von Daten, ohne Terminal für Benutzereingaben), werden diese Warnungen in das Protokoll geschrieben und eine Standardantwort ausgegeben. Andernfalls öffnet JMP im interaktiven Modus einen modalen Dialog, um die Antwort abzurufen. Wenn eine Taste 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 zu einem "OK?" Dialog. Button-Skripte sind in der Regel kurz, daher funktioniert die Heuristik in der Regel.
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 DatenbankverbindungHallo @markbailey . 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 