注册 登录
编程论坛 VFP论坛

断电造成若干DBF文件损坏!很重要,请高手帮忙修复!

hxy8000 发布于 2022-09-14 16:46, 3708 次点击
断电造成若干DBF文件损坏!很重要,请高手帮忙修复!
只有本站会员才能查看附件,请 登录

特别急,数据比较多!
13787819929
1271576008@
31 回复
#2
hxy80002022-09-14 17:03
只需要恢复三个数据表文件就可以使用了。
图书数据库.DBF
读者数据库.DBF
借阅历史数据库.DBF
拜托!!
#3
吹水佬2022-09-14 17:25
看了几个文件,全是NULL
#4
hxy80002022-09-14 17:29
NULL是什么意思?原来是有数据的。是被彻底破坏了吗?
#5
吹水佬2022-09-14 17:36
以下是引用hxy8000在2022-9-14 17:29:40的发言:

NULL是什么意思?原来是有数据的。是被彻底破坏了吗?

“空”
#6
吹水佬2022-09-14 17:38
只有本站会员才能查看附件,请 登录
#7
hxy80002022-09-14 17:41
以前断电时只是破坏个别一两个DBF文件,因为有备份所以替换就可以恢复。但这次是全部DBF文件几乎全部被破坏,且没有及时备份!只有一年前的备份,近一年的数据就全部丢失了,很急!看到“图书数据库.DBF","读者数据库.dbf","借阅历史数据库.DBF"等三个文件的大小还有6-8M左右,以为还可以恢复.
#8
hxy80002022-09-14 17:50
VFP的DBF文件太脆弱了!突然断电\系统崩溃\操作失误等都可能被破坏致使系统不能使用!
以往为对付这种情况,只能使用大量的备份来尽量减小损失,但同时会造成大量的备份文件.
#9
sam_jiang2022-09-14 21:27
找到数据库的保存位置,把同名BAK文件的后缀名改成DBF就可以了,可以返回到最近的一次数据。
#10
星光悠蓝2022-09-14 22:04
停电怎么会造成这么多表损坏??,只有打开才会有影响。
#11
zhken2022-09-14 22:31
如果数据的确很重要,自已功力不够,可以拿硬盘到附近的电脑城去,先不要软易去动这个盘,也不要在硬盘上写文件。几百元以内一般可以解决,也许百来块就可以
#12
sam_jiang2022-09-14 22:33
以下是引用星光悠蓝在2022-9-14 22:04:10的发言:

停电怎么会造成这么多表损坏??,只有打开才会有影响。


打开时断电!
#13
zhken2022-09-14 22:35
或者有多余的硬盘,先拷贝一份相同的,再尝试修复,原数据应该还在硬盘里面。
#14
gs25367856782022-09-15 08:17
11楼朋友讲得对,你拿到电脑城里,就算死马当活马医治吧。
#15
hu9jj2022-09-15 09:08
找到BAK后缀的文件,复制后可以尝试修复。
#16
星光悠蓝2022-09-15 09:16
回复 12楼 sam_jiang
我活了几十年,重来没有同时打开那么多自由表。
#17
apull2022-09-15 09:20
重要设备要加个UPS,也不是很贵
#18
厨师王德榜2022-09-15 10:53
BAK文件还在的话,还可以抢救一下,
你提供的dbf文件本身,已经不可能恢复了,不信你自己用UltraEdit之类的16进制编辑器打开看一眼就清楚了.
#19
hxy80002022-09-15 11:41
谢谢各位提供的意见!!BAK都是1KB,估计改成DBF也没有内容。
#20
hxy80002022-09-15 11:53
经查看BAK,只有表结构信息,无记录
#21
吹水佬2022-09-15 15:48
估计不是断电的问题,“闪”一下就能将那么多文件写0 ? 磁盘保存的东西没那么脆弱吧。
还真未遇到过这种断电情况,顶多也是偶然某个文件没写完成就中止导致文件头信息与文件尾数据不正确。

#22
sam_jiang2022-09-15 23:57
这哪是断电,是哪个离职员工干的吧。
#23
hxy80002022-09-16 10:19
我做VFP也有二十年了,断电问题经常发生,但最多损坏两三个DBF文件,从未发生过“全军覆没”的情况!
这是一所学校图管员报告的事件:前天下班时,她退出图书管理系统后,在未正常关闭WINDOWS系统的情况下便强行关闭了电脑电源。待第二天开机,电脑能正常启动(没有蓝屏),再打开图书管理系统就异常了。
没有离职员工搞破坏的可能,图管员也没这个动机,其他人要搞破坏也可以彻底删除文件即可,但文件都在,文件大小也显示,只是文件内容为空了。
所以,这个现象很怪异!
在图书系统退出后,表文件应该已读写完毕,即使强行断掉电脑电源,应该不会影响到VFP文件。
还有一种可能:在退出事件中,有一段复制所有DBF文件到备份文件夹的代码,是否恰好在运行这行代码时遇到了断电而被“闪”了(图管员一手点击“退出”按钮,一手点在电源开关上)。
#24
hu9jj2022-09-16 11:04
楼主的事例反映出定期备份的重要性,备份数据的工作至少每月应该进行一次,更进一步的是每周定期自动备份,重要的数据应该每天备份,这样才能将意外损失降到最低。自动备份可以放在开机时,进入系统时自动将之前期间的数据备份好,然后再允许用户操作。
#25
kangss2022-09-21 12:58
回复 楼主 hxy8000
只有本站会员才能查看附件,请 登录

dbf的压缩率大概在 1、20 倍左右,压缩率不可能这么大,看压缩后的字节数,感觉就是:空文件
#26
shenlancwz2022-09-22 11:27
全部查看过,感觉已经没救了!
#27
aqyejun2022-09-22 17:02
无解了!!!
#28
my23182022-09-23 15:42
楼主的问题主要是设计问题,数据放客户端而不是服务器。亡羊补牢,还不晚。
#29
huasinstamps2022-10-01 11:03
论备份的重要性。我每天都备份所有活动文件。个别重要文件运行时每隔5分钟就自动备份一次(不夸张)。以前也碰到过类似情况,花了一星期来手工恢复。断电破坏的文件好像用bak恢复不了。一年没备份是大意了。
#30
xuminxz2022-10-01 16:37
这种情况很常见,以前我们单位的一个人事管理软件经常出现这种情况。如果出现这种情况后,没有运行过程序一般比较好解决,找到临时文件即可,否则很难处理。找一般数据恢复公司基本没用,这与VFP对数据表的管理方式有关。这样的软件应该弃用或修改一下。比较简单的办法是用远程视图代替DBF文件,程序的修改工作量不大。不过,如果你的程序是用VB、VC或其它语言开发的改起来就比较困难了。
比较笨但是简单且保险的办法是,用一个批处理文件代替原来的程序作用启动程序,批处理调用原来的程序,原程序关闭后调用一个备份程序,自动生成日备份、周备份。
#31
yuma2022-10-01 18:52
实现你这种功能,批处理可以实现。

然后你电脑出现这种情况。
#32
my23182022-10-02 17:22
实际上,只要人可以操作你的数据库电脑,因误操作造成的数据库损坏或数据丢失就有各种可能,此时除从客观方面解决外,还要考虑从人的主观方面解决,比如制度约束
1