<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Versión 7.0.2: 2 GB de memoria, Windows 7
Tengo un bucle for (que se repite dos veces por ahora). Dentro del bucle for, abro una conexión de base de datos y solicito una tabla devuelta. La tabla devuelta es de aproximadamente 10 columnas, 1.7M filas. Luego guardo la tabla y la cierro, y luego en la siguiente tabla. El problema es que la memoria nunca se libera de la primera tabla, por lo que al obtener los registros de la siguiente consulta de bucles, obtengo una excepción de memoria. ¿Hay alguna forma de cerrar permanentemente la tabla y su memoria desde dentro del bucle for? Gracias chris
Por favor, vea el fragmento de código a continuación:
mi lista = palabras ( Munger ( pag El "obleas" ] , z , " , "" )) ; // pone números de obleas en una lista
norte = N artículos ( mi lista ) ; // cuenta el número de obleas en la lista
para ( yo = 1 , yo <= norte , yo ++,
waf_id = mi lista El yo ] ;
waf_table = mi lista El yo ] ;
Si ( longitud ( waf_id ) > 0 , waf_id = "('' || waf_id || "')" ) ;
ls_sql = "SELECCIONAR *" ;
ls_sql = ls_sql || "DESDE WDBP.dbo.SF_QST" ;
ls_sql = ls_sql || "DONDE ESTÁ WAFER_ID EN" || waf_id ;
espectáculo ( ls_sql ) ; // muestra la sentencia SQL en el registro
OpenDatabase ( "DSN = WDBP; UID = WDFREP; PWD = wdfrep;" , ls_sql , waf_table ) ; // consulta la base de datos
dt = tabla de datos ( waf_table ) ;
nombre del archivo = waf_table || ".jmp";
espectáculo (nombre del archivo);
cerrar (dt, guardar (nombre de archivo));
) ;
DE ACUERDO. El problema se resuelve colocando un comando "esperar (5)" después de "cerrar (dt, guardar (nombre de archivo))" al final del bucle. JMP no había completado el guardado de archivos, antes de que el script continuara para su procesamiento posterior.
Encontré esto realizando algunas pruebas, y mala suerte ..