Crear error de conexión de base de datosEstoy tratando de establecer una conexión con la base de datos a través de secuencias de comandos y es la primera vez que hago esto. Pude crear el siguiente script, pero parece que hay un error que cada vez que hay una conexión fallida, hay una ventana emergente predeterminada de "Alerta JMP" (ver instantánea) en lugar de estar contenido dentro de la función "Probar" (estaba intentando con un nombre de base de datos incorrecto de "PRUEBA" que condujo a la ventana emergente. ¿Hay alguna manera de controlar esto?
Además, ¿existe algún buen material de lectura (p. ej., mejores prácticas básicas) para incorporar SQL a la secuencia de comandos JMP?
¡Muchas gracias!
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>

secuencias de comandosRe: Crear error de conexión de base de datosHola @Mark_Bailey . Sí, tienes razón. Definitivamente un buen punto de partida para aprovechar la secuencia de comandos de la tabla de origen. Estaba explorando otras formas, ya que podría necesitar expandir el uso de esta secuencia de comandos a otros usuarios potenciales dentro de mis organizaciones que pueden no estar tan familiarizados con JMP, y mucho menos con las secuencias de comandos. Gracias por el consejo 
Re: Crear error de conexión de base de datosLe sugiero que, en el futuro, primero se conecte de forma interactiva para demostrar que es posible establecer una conexión. Un beneficio adicional es que JMP escribirá un script de tabla de origen con el JSL correcto para obtener el mismo resultado. Puede copiar este script en el suyo propio en lugar de escribir y depurar el suyo propio,
Re: Crear error de conexión de base de datosAh, lo siento, lo dejé fuera. Si JMP cree que se está ejecutando en modo por lotes (terminología antigua sobre el procesamiento de datos por lotes, sin una terminal para la entrada del usuario), esas alertas se escriben en el registro y se genera una respuesta predeterminada. De lo contrario, en el modo Interactivo, JMP abre un cuadro de diálogo modal para obtener la respuesta. La mayoría de las veces, si se presionó un botón para iniciar algún JSL, el comportamiento interactivo es correcto. Y si se envía un guión (quizás durante el almuerzo), preferiría no volver a un "¿de acuerdo?" diálogo. Los scripts de botones tienden a ser cortos, por lo que la heurística tiende a funcionar.
Re: Crear error de conexión de base de datosGracias @Craige_Hales . No entiendo qué hace exactamente "Batch Interactive ()", pero resuelve el problema. 
Re: Crear error de conexión de base de datosPrueba alguna variación de esto.
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 );
Puede usar logcapture() si el mensaje de registro es un problema.
Creo que usar el valor devuelto de la primera llamada interactiva por lotes para pasar a la segunda es la forma correcta de empujar/abrir la bandera. Creo que JMP está presionando internamente "interactivo" para la bandera cuando se ejecuta un script desde un botón.
Nota de @Wendy_Murphrey . Buscar en la comunidad producirá más historia sobre lote interactivo.