同城约会| 杂志期刊| 小说| 两性论坛| 军事电影| 两性知识| 电脑知识| 汽车| 旅游| 收藏

如何修改Foxpro数据库

来源: 作者: 出处:综艺读书 2006-09-14 
关 键 词:网络故障  数据库  服务器  os  foxpro  

  随着计算机技术的迅速发展,计算机的应用与普及程度也越来越高。绝大多数单位已不同程度地将计算机技术应用于工作的某个方面。
早期的数据库应用系统大多采用FoxBase+或Foxpro编程,由于这种数据库技术的局限性,缺乏对数据完整性、安全性和一致性方面的控制手段,没有大型数据库的“事务处理”的概念,在运行过程中,由于异常事件,如断电、网络故障服务器、工作站锁死等因素,会造成部分使用中的数据库遭到破坏,当打开损坏的数据库时,将出现提示“不是dbf数据库”,导致数据不可用。

  经过工作实践,反复摸索,我发现可以利用Pctools或其他十六进制的编辑工具如WinHex等工具软件修复,将损失降到最小程度。下面,简述其修复过程。

  1背景知识:数据库文件的前32个字节为数据库控制信息。其中,第5、6字节分别存放记录个数的低8位和高8位。例如:一数据库有2345(十六进制数为:929)条记录,则该数据库的第5、6字节分别存放29,09;以下每32个字节连续存放每个字段的定义,其中每32个字节的第17字节存放字段宽度;字段定义完后两字节为0d,20,之后连续存放记录数据(每字段宽度之和加1个字节即list stru命令显示出的“**total** xxx”个字节存放一条记录),最后,以1A结束。

  2修复原理:数据库损坏后,多数情况为后面的几条记录损坏。通过直接修改数据库包含记录条数的方法使损坏的数据可用,然后,补录后几条记录即可。

  3修复过程:1在DOS下,利用Pctools工具包中的filefix命令“预修复”(由程序自动审查完好记录的个数)损坏的数据库,在修复结果中查看并记录下已修复的记录个数,如:2343,换算为十六进制数为927;2利用Pctools或其他的十六进制的编辑工具如:WinHex等工具软件将该数据库的第5字节改为27;3将数据库的前四个字节修改为原文件的备份文件或同目录下完好数据库的前四个字节;4存盘退出。

  注:如果数据库包含备注型字段,对于FoxBase+数据库可以直接用filefix修复,但Foxpro数据库,由于其备注型字段内容存放在fpt文件中,而filefix无法直接修复。

  以上方法在DOS622,Foxpro25 for DOS,Pctools 90下测试通过,错误或不妥之处请指教。 更多文章 更多内容请看Linux数据库宝典  城域网专题  数据库安全技术专题专题,或进入讨论组讨论。

收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
综艺读书宗旨
相关专题
·数据库专栏 (4469篇文章)
·数据库处理专题 (7214篇文章)
·城域网专题 (6668篇文章)
·数据库安全技术专题 (11215篇文章)
·数据库安装与卸载 (8929篇文章)
·Linux数据库宝典 (11165篇文章)
·数据库相关文章 (4470篇文章)
热点标签: 网络故障  数据库  服务器  os  foxpro  
最新技术文档
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容
Web 全站
综艺电脑频道编辑信箱  告诉我们您想看的专题或文章

Google

友情互链 | 收藏本站 | 联系我们 | 在线留言 | 京ICP备08008424号|