有一个数据表(例:Table1),里边有160多万条记录,在处理的时候出现"not enought memory for file map"这样的错误。
大概流程是先把它的数据备份到另一个表中,然后再删除本表中的Data:
SELECT Table1
SET ORDER TO TAG tag1
SCAN
SELECT Table1
SCATTER MEMVAR MEMO
INSERT INTO Table1_bak From Memvar
SELECT Table1
Delte
ENDSCAN
好象是处理到Table1中间的哪个地方出错的,电脑是双核的,内存4G,C盘剩余空间还有70多G,程序是vfp6.0写的。
请各位高手指点,不胜感激,谢谢!
------解决方案--------------------------------------------------------
先用APPE FROM,再ZAP不就行了?
VFP6要升到VFP9,在VFP9下编译一下就行了
------解决方案--------------------------------------------------------
改为:
Select Table1
Set Order To Tag tag1
Scan
Insert Into Table1_bak (字段1,...,字段N) )Values (Table1.字段1,...,Table1.字段N)
Select Table1
Delete
Endscan
为何一条一条复制,至少可以1000条一复制呀,或者整表复制。