标题:断电造成若干DBF文件损坏!很重要,请高手帮忙修复!
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
估计不是断电的问题,“闪”一下就能将那么多文件写0 ? 磁盘保存的东西没那么脆弱吧。
还真未遇到过这种断电情况,顶多也是偶然某个文件没写完成就中止导致文件头信息与文件尾数据不正确。

2022-09-15 15:48
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:1 
这哪是断电,是哪个离职员工干的吧。
2022-09-15 23:57
hxy8000
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2010-11-15
得分:0 
我做VFP也有二十年了,断电问题经常发生,但最多损坏两三个DBF文件,从未发生过“全军覆没”的情况!
这是一所学校图管员报告的事件:前天下班时,她退出图书管理系统后,在未正常关闭WINDOWS系统的情况下便强行关闭了电脑电源。待第二天开机,电脑能正常启动(没有蓝屏),再打开图书管理系统就异常了。
没有离职员工搞破坏的可能,图管员也没这个动机,其他人要搞破坏也可以彻底删除文件即可,但文件都在,文件大小也显示,只是文件内容为空了。
所以,这个现象很怪异!
在图书系统退出后,表文件应该已读写完毕,即使强行断掉电脑电源,应该不会影响到VFP文件。
还有一种可能:在退出事件中,有一段复制所有DBF文件到备份文件夹的代码,是否恰好在运行这行代码时遇到了断电而被“闪”了(图管员一手点击“退出”按钮,一手点在电源开关上)。
2022-09-16 10:19
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:2 
楼主的事例反映出定期备份的重要性,备份数据的工作至少每月应该进行一次,更进一步的是每周定期自动备份,重要的数据应该每天备份,这样才能将意外损失降到最低。自动备份可以放在开机时,进入系统时自动将之前期间的数据备份好,然后再允许用户操作。

活到老,学到老! http://www. E-mail:hu-jj@
2022-09-16 11:04
kangss
Rank: 4
等 级:贵宾
威 望:10
帖 子:138
专家分:237
注 册:2014-6-12
得分:0 
回复 楼主 hxy8000

dbf的压缩率大概在 1、20 倍左右,压缩率不可能这么大,看压缩后的字节数,感觉就是:空文件
2022-09-21 12:58
shenlancwz
Rank: 2
等 级:论坛游民
威 望:3
帖 子:36
专家分:43
注 册:2018-11-7
得分:0 
全部查看过,感觉已经没救了!
2022-09-22 11:27
aqyejun
Rank: 3Rank: 3
等 级:论坛游民
威 望:9
帖 子:121
专家分:99
注 册:2010-6-11
得分:0 
无解了!!!

【独叶为舟】工作室
2022-09-22 17:02
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:12
帖 子:233
专家分:577
注 册:2014-3-18
得分:0 
楼主的问题主要是设计问题,数据放客户端而不是服务器。亡羊补牢,还不晚。
2022-09-23 15:42
huasinstamps
Rank: 2
等 级:论坛游民
帖 子:50
专家分:21
注 册:2017-6-1
得分:0 
论备份的重要性。我每天都备份所有活动文件。个别重要文件运行时每隔5分钟就自动备份一次(不夸张)。以前也碰到过类似情况,花了一星期来手工恢复。断电破坏的文件好像用bak恢复不了。一年没备份是大意了。
2022-10-01 11:03
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:0 
这种情况很常见,以前我们单位的一个人事管理软件经常出现这种情况。如果出现这种情况后,没有运行过程序一般比较好解决,找到临时文件即可,否则很难处理。找一般数据恢复公司基本没用,这与VFP对数据表的管理方式有关。这样的软件应该弃用或修改一下。比较简单的办法是用远程视图代替DBF文件,程序的修改工作量不大。不过,如果你的程序是用VB、VC或其它语言开发的改起来就比较困难了。
比较笨但是简单且保险的办法是,用一个批处理文件代替原来的程序作用启动程序,批处理调用原来的程序,原程序关闭后调用一个备份程序,自动生成日备份、周备份。

dBase有人接盘了。
2022-10-01 16:37



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




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

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