Bloqueo del rastreador de bases de datosEscribí un script para rastrear las bases de datos disponibles para ver si aparece un ID de lote en particular y extraer los datos. Mi enfoque implica abrir una serie de archivos y luego cerrar los que están vacíos. Estoy abierto a sugerencias sobre cómo no necesitar eso. Tengo una base de datos particularmente poblada que abre más de 1000 archivos y el script parece bloquearse cuando se intenta cerrar las tablas de datos vacías.
Names Default To Here(1);
// Defining firstname and lastname string
FirstParameter = "First Parameter";
SecondParameter = "Second Parameter";
LotNumber = "Lot Number";
//changing username variables based on user input
w = New Window("Defining Parameters",
<<MODAL></MODAL><LINGO-LABS id="lingo-labs-843187" slang="en-US" mode="CREATE"><LINGO-LABEL>Automatización y scripting</LINGO-LABEL></LINGO-LABS>Re: Bloqueo del rastreador de bases de datos¿Existe alguna razón específica por la que intentas ejecutar JSL usando fórmulas y no usando un script separado?
Re: Bloqueo del rastreador de bases de datosEn realidad, se trata de un script independiente (Trawl). El script se compila en las columnas de la tabla de datos, se pega en una ventana de script y se ejecuta desde allí. Si existe una forma más convencional y sencilla, ¿estoy dispuesto a hacerlo?
Re: Bloqueo del rastreador de bases de datos¿Escribir el script en un archivo JSL y ejecutarlo desde allí?
Re: Bloqueo del rastreador de bases de datosLa secuencia que tengo implica un script JSL que ejecuta una consulta SQL para crear una tabla de datos que enumera todas las bases de datos disponibles. A partir de ahí, genero automáticamente un script JSL de seguimiento para buscar en la lista mi lote de entrada. Estoy seguro de que es posible, pero no sé cómo hacerlo de inmediato con un solo JSL.
Re: Bloqueo del rastreador de bases de datosEstoy bastante seguro de que, si puedes hacerlo en columnas JMP, puedes hacerlo utilizando bucles en JSL. Debería ser mucho más fácil depurar y modificar a medida que obtienes el resaltado de sintaxis de JSL en el editor de scripts.
Re: Bloqueo del rastreador de bases de datosEl script secundario resultante tiene muchas consultas secuenciales, la mayoría de las cuales generan tablas vacías. Si pudiera cerrarlas inmediatamente si estuvieran vacías, creo que sería de gran ayuda. ¿Algún consejo sobre cómo hacerlo?
Names Default To Here( 1 );
Clear Globals();
dt = Current Data Table();
Sites = {"Site1;", "Sites2;"};
sql1 = "select * from source.table where lot = 'Lot_ID'";
History1 = Open Database( Sites[1], sql1, "History source.table" );Re: Bloqueo del rastreador de bases de datosIf(N Rows(dt) == 0, Close(dt, no save));
También abre tus tablas como invisibles (o privadas). Open Database lo admite, aunque yo usaría New SQL Query en su lugar, pero Open Database es mucho más simple.

Re: Bloqueo del rastreador de bases de datosJarmo, agregué eso a cada consulta, lo que cierra inmediatamente las tablas vacías y ahora parece que está estable. Aquí está el resultado final, por si a alguien le sirve de ayuda. No es muy atractivo, pero funciona.
Names Default To Here(1);
// Defining firstname and lastname string
FirstParameter = "First Parameter";
SecondParameter = "Second Parameter";
LotNumber = "Lot Number";
//changing username variables based on user input
w = New Window("Defining Parameters",
<<MODAL></MODAL>