标题:vfp 中的COPY FILE TO 命令
只看楼主
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
版主的话总是对的,谢谢,终于可结帖了

本问题就是备份出的问题,10个表备份到另一个文件夹后,停电导致部分烂表,致使备份无效!

提出的问题:COPY FILE 表1 TO 表2  后,表2是正常的,但是停电后,表2坏了。
解决的方法:经过了很多测试,找到了一个解决的办法。
            就是程序语句拷贝后,要操作一下Windows文件系统,停电也不烂表了。
            命令 COPY  TO 后,可能是Windows没有自动关闭文件系统。
2021-12-22 16:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
备份过程是否成功应该要有记录,下次启动可以提醒重做
2021-12-22 19:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
重要文件备份完成后最好做一下校对
2021-12-22 19:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用asdf_123000在2021-12-22 16:17:25的发言:

提出的问题:COPY FILE 表1 TO 表2  后,表2是正常的,但是停电后,表2坏了。
解决的方法:经过了很多测试,找到了一个解决的办法。
            就是程序语句拷贝后,要操作一下Windows文件系统,停电也不烂表了。
            命令 COPY  TO 后,可能是Windows没有自动关闭文件系统。

这样看来VFP的 COPY FILE 可能是调用WinAPI的 CreateFile、ReadFile、WriteFile、....
通过缓冲来进行I/O操作,缓存正式存盘还需时间,尤其是有使用了文件安全监控。
试试VFP的FLUSH命令看有无效果,如:
FLUSH 表2.dbf FORCE
觉得开关一下表2应该也可以:
USE 表2
USE




2021-12-23 09:12
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
谢谢版主提醒!
具体备份,退出就自动备份了,是成功的。
这是中间增加的数据,想防止停电而丢失所做的备份。中间每次变动数据备份是成功了,但不退出系统,备份成功的表仍然烂表,实际上是不成功的。
找到的方法是,打开Windows文件系统,手工对这个中间备份文件夹复制一个。
那么再发生停电,中间备份文件不烂了,但复制的这个文件夹烂表。不知什么程序没有关闭造成的。
2021-12-23 09:27
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
以下是引用吹水佬在2021-12-23 09:12:37的发言:


这样看来VFP的 COPY FILE 可能是调用WinAPI的 CreateFile、ReadFile、WriteFile、....
通过缓冲来进行I/O操作,缓存正式存盘还需时间,尤其是有使用了文件安全监控。
试试VFP的FLUSH命令看有无效果,如:
FLUSH 表2.dbf FORCE
觉得开关一下表2应该也可以:
USE 表2
USE

试过了,
1、FLUSH对当前工作区的表有保护,对另存的中间备份文件夹无效,一样的烂表。
2、开关一下表,即使是指定了中间备份文件夹路径,仍然烂里面的表。
太弦了,只有手动复制还勉强可行
2021-12-23 11:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 16楼 asdf_123000
估计是操作系统环境的问题
另找台机试试,最好是裸机(只装windows),排除其他应用干扰的可能
2021-12-23 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507891-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056527 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved