数据库结构损坏时数据的恢复

Author: 河南 李振山 Date: 1994-01-07

        1、首先将损坏的数据库改名(如ZLK.HB),然后将备份盘中的ZLK.DBF数据库恢复(如没有备份,可CREATE命令重建一个相同结构的数据库)。
        2、引导一个与西文软件兼容的汉字系统,如天汇V1.2、VCDOS3.0等。
        3、将正常的数据库与损坏的数据库连接成一个文件,在DOS下键入COPYZLK.DBF+ZLK.HB。
        4、进入PCSHELL,使用FILE菜单的EDIT FILE对ZLK.DBF进行编辑。这时可以看到ZLK.DBF的开头处是一些不可输入的特殊字符,这是数据库的结构部分,然后将XLK.DBF的第一条记录、第一个字段的开头处到下面损坏的数据库(ZLK.HB)的第一记录的开头处之间的内容删去,存盘退出。
        5、进入DBASE,键入USE ZLK,BROW,观察字段中的资料与字段宽度是否有错位现象,如有错位,这是因为数据库开头的结构与后面的数据接头处的空格多或少的缘故。使用PCSHELL在数据库开头结构与数据之间加入或删除几个空格,直到使用BROW命令正常显示即可。
        6、进入DBASE,USE ZLK,将数据库结尾的已经损坏的若干记录用DELETE命令及PACK命令删除,修复工作即告结束。
        使用上述方法,可恢复数据多条记录,减少了损失。为了尽可能减少因停电造成的大量数据丢失或遭破坏,建议在每个程序的结尾加上CLOSE ALL语句,迫使数据存盘。在往数据库中添加数据时,不妨建一个同样结构的小数据库,添加数据的操作针对小数据库进行,不常用的数据利用APPE FROM命令将小数据库中的数据追加到总库中,从而避免因停电造成过多的损失。(河南  李振山)