<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />版本 7.0.2:2 GB 内存,Windows 7
我有一个 for 循环(现在循环两次)。 在 for 循环中,我打开一个数据库连接并查询一个返回的表。 返回的表大约有 10 列,170 万行。 然后我保存表并关闭它,然后转到下一张表。 问题是内存永远不会从第一个表中释放,所以当从下一个循环查询中获取记录时,我得到一个内存异常。 有没有办法从 for 循环中永久关闭表及其内存? 谢谢克里斯。
请看下面的代码片段:
我的列表=字(芒格( p [ “晶圆” ] , z , "," , " " )) ; //将晶圆编号放入列表
ñ = N 项(我的列表) ; // 计算列表中晶圆的数量
为了(一世= 1 ,一世<= ñ ,一世++,
waf_id =我的列表[一世] ;
waf_table =我的列表[一世] ;
如果(长度( waf_id ) > 0 , waf_id = "('" || waf_id || "')" ) ;
ls_sql = “选择 * ” ;
ls_sql = ls_sql || “来自 WDBP.dbo.SF_QST” ;
ls_sql = ls_sql || “ WAFER_ID 在哪里” || waf_id ;
节目( ls_sql ) ; // 显示日志中的 SQL 语句
开放数据库( “DSN=WDBP;UID=WDFREP;PWD=wdfrep;” , ls_sql , waf_table ) ; //查询数据库
dt =数据表( waf_table ) ;
文件名= waf_table||".jmp";
节目(文件名);
关(dt,保存(文件名));
) ;
好的。 通过在循环末尾的“close(dt, save(filename))”之后放置“wait(5)”命令来解决问题。 在脚本继续进行进一步处理之前,JMP 尚未完成文件保存。
我通过执行一些测试发现了这一点,运气不好..