Secuencias de comandos: guardar los resultados de la consulta SQL en el proyectoHola, probablemente sea una pregunta de novato, pero no pude encontrar una solución por mí mismo: quiero guardar la tabla generada por una consulta SQL a través de un JSL en un proyecto. El código está a continuación; Se omitieron etiquetas, etc. Desafortunadamente, el dt parece eliminarse después de ejecutar la consulta en segundo plano. ¿Es una cuestión de tiempo? Gracias por cualquier ayuda.
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
project = New Project();
project << Save As("");
Automatización y secuencias de comandosAcceso a los datosRe: Scripting: Guardar resultados de consultas SQL en el proyectoEjecutar la consulta en segundo plano hace que JMP no espere los resultados antes de pasar al siguiente comando, por lo que debe indicarle que espere.Generalmente defino dt como Vacío() antes de la consulta y luego le digo a JMP que espere hasta que dt sea programable antes de continuar.
dt = Empty();
query = New SQL Query(
Connection(""),
QueryName(""),
Select(Column("", "t1"), ),
From(Table("", Schema(""), Alias("t1")), )
);
query << Run Background(OnRunComplete(dt = queryResult));
While( !Is Scriptable( dt ), Wait( 1 ) );
project = New Project();
project << Save As("");Re: Scripting: Guardar resultados de consultas SQL en el proyectoSi desea ejecutar la consulta en segundo plano y aún realizar algunas acciones una vez finalizada la consulta, puede utilizar PostQueryScript
Names Default To Here(1);
obj = New SQL Query(Connection("ODBC:DSN=SampleDSN;"), Custom SQL("SELECT c1, c2, c3 FROM my_table;"));
obj << Post Query Script("show( queryResult << Get As Matrix );");
o creo que también podrías usar < pero necesita agregar más script dentro de eso (y es posible que necesite un alcance global...).