CN1279426A - 一种修复fox数据库的方法 - Google Patents

一种修复fox数据库的方法 Download PDF

Info

Publication number
CN1279426A
CN1279426A CN 99110054 CN99110054A CN1279426A CN 1279426 A CN1279426 A CN 1279426A CN 99110054 CN99110054 CN 99110054 CN 99110054 A CN99110054 A CN 99110054A CN 1279426 A CN1279426 A CN 1279426A
Authority
CN
China
Prior art keywords
file
total length
field
database
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 99110054
Other languages
English (en)
Inventor
陈立富
周逸钧
将亚达
张懿城
杜朝阳
文新建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 99110054 priority Critical patent/CN1279426A/zh
Publication of CN1279426A publication Critical patent/CN1279426A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种用软件修复FOX数据库的方法,本程序是用TurboC++ for dos(version 2.0)编程的应用软件。可修复包括DBASE FOXBASE FOXPRO 2.5(for dos&Windows)FOXPRO2.6(for dos & Windows)以及VISUAL FOXPRO(3.0—5.0)等数据库文件。 特别适用于网络过程中,因突然掉电导致的数据库结构的破坏。本发明具有查询与修复相结合的功能,在非数据环境支持下,可直接显示各类型的数据库(表)文件结构和记录,并可将受破坏的文件记录拷贝成标准格式的文本文件,易于数据的重新回添。

Description

一种修复FOX数据库的方法
本发明涉及一种修复FOX数据库的方法,尤其是一种用软件来修复FOX数据库的方法。
数据库管理系统主要是对数据库中数据进行增减、统计运算,最终得出人们所需要的各项统计分析结果。多种原因可导致数据库文件结构破坏,特别是网络传输速度相对较慢,突然掉电等非正常关机极易造成库文件结构破坏,一类为显性破坏,表现为数据库文件不能被打开使用,应用程序不能正常运行,此类文件结构破坏已被广大计算机用户所认识。另一类为隐性破坏,表现为数据库的全部或部分记录丢失,数据库仍能正常使用,但数据的丢失,导致最终的统计运算错误,此类文件结构破坏无明显异常表现,它是数据库管理系统运算结论错误的主要原因,这种隐性的文件结构破坏还不被人们所认识,具有更大的危害性。目前解决数据库损坏的方法主要有(1)、重新拷贝数据库文件结构。此方法简单,但数据库内记录全部丢失,造成不可估量的损失。(2)、请专业人员修复,须精通数据库(表)文件结构,但费时、费力,对记录稍多的数据库往往无能为力,很难展开工作。(3)、虽然世界著名的工具软件Pctools9.0可以恢复dBase类数据库文件记录,但对数据库中所有的中文信息均认为是非法字符面被删除,故根本不适合国内数据库修复。(4)、虽有文献报道类似的软件修复方法,如1998年第二期出版的《电子科技》杂志上发表的FOXPRO坏数据库文件的恢复和1997年第九期出版的《电脑技术信息》上发表的FOXPRO数据库损坏后的自动恢复,但这些方法只能对某一种情误及某一类的数据库文件进行修复,功能单一,还需人工参与。上述四种方法也只能对已知被破坏的数据库(表)进行修复,而在数据库管理系统中并不提示具体出错的数据库文件名称,对成百上千的文件逐一查对并不现实。
本发明的目的就是提供一种修复FOX数据库的软件。该软件具有将数据库结构修复、记录拷贝、数据库加密等功能。
本发明的目的可通过以下方法来实现。本软件是用Turbo C++fordos(version2.0)编程的应用软件。用c++for DOS语言打开数据库文件后,首先根据第一个字节判断数据库文件类型,读取文件头中的记录区起点偏移量、记录总数、字段总长度等数据,第二步读取文件字段描述部分,计算字段总长度,结合第一字节判断有无备注字段,将字段总长度同文件头中的字段总长度进行比较。若不相符,则以字段描述的字段总长度修改文件头中的字段总长度。第三步寻找记录区记录起始标志0×0D,也称字段描述部分结束标志。并读取该位置信移量,同文件头中记录区起点偏移量数据比较,若不相等则修改文件头中的相应数据。第四步读取整个记录区数据长度,用记录区数据总长度除以字段总长度,算出实际记录总数,并与文件头中的记录总数相比较,若不相等,则修改文件头相应数据。
下面结合附图对发明作进一步描述。
图1、本发明的简要流程图
本软件是用Turbo C++for dos(version2.0)编程的应用软件。用c++for DOS语言打开数据库文件后,首先根据第一个字节判断数据库文件类型,读取文件头中的记录区起点偏移量、记录总数、字段总长度等数据,第二步读取文件字段描述部分,计算字段总长度,结合第一字节判断有无备注字段,将字段总长度同文件头中的字段总长度进行比较。若不相符,则以字段描述的字段总长度修改文件头中的字段总长度。第三步寻找记录区记录起始标志OxOD,也称字段描述部分结束标志。并读取该位置信移量,同文件头中记录区起点偏移量数据比较,若不相等则修改文件头中的相应数据。第四步读取整个记录区数据长度,用记录区数据总长度除以字段总长度,算出实际记录总数,并与文件头中的记录总数相比较,若不相等,则修改文件头相应数据。不同类型的数据库(表)文件结构均有各自特点,数据区起始点位置偏移量不同,运算时根据文件第一字节,需相应进行处理,软件对数据库(表)文件检查判断均自动进行,对内部数据综合分析,无需人工参与,发现结构错误时,首先备份原文件,需对多文件进行操作时,先生成包括要检查的文件及子目录名的临时文件,根据临时文件内容,逐一检查各数据库(表)文件,完成多文件、多目录查询的功能。综上所述,对数据库文件的查修是以记录区内容为本,逆行审核并修改文件头内容,从而确保了最大限度的恢复记录内容。软件还可通过对数据库的与或运算加解密数据库记录区源代码,加密后的数据库文件结构正常,可正常打开数据库文件,而记录均为不可见字符。对FOXPro编译的exe可执行文件,通过修改exe文件中的源程序文件名而达到对抗反编译的效果。
本发明能够修复包括DBASE FOXBASE FOXPRO 2.5(for dos &Windows)FOXPRO2.6(for dos & Windows)以及VISUAL FOXPRO(3.0-5.0)等数据库文件。特别适用于网络过程中,因突然掉电导致的数据库结构的破坏。本发明具有查询与修复相结合的功能,在非数据环境支持下,可直接显示各类型的数据库(表)文件结构和记录,并可将受破坏的文件记录拷贝成标准格式的文本文件,易于数据的重新回添。

Claims (1)

1、一种用软件修复FOX数据库的方法,其特征是用C++for DOS语言打开数据库文件后,首先根据第一个字节判断数据库文件类型,读取文件头中的记录区起点偏移量、记录总数、字段总长度等数据;第二步读取文件字段描述部分,计算字段总长度,结合第一字节判断有无备注字段,将字段总长度同文件头中的字段总长度进行比较,若不相符,则以字段描述的字段总长度修改文件头中的字段总长度;第三步寻找记录区记录起始标志0×0D,也称字段描述部分结束标志,并读取该位置偏移量,同文件头中记录区起点偏移量数据比较,若不相等则修改文件头中的相应数据;第四步读取整个记录区数据长度,用记录区数据总长度除以字段总长度,算出实际记录总数,并与文件头中的记录总数相比较,若不相等,则修改文件头相应数据。
CN 99110054 1999-06-29 1999-06-29 一种修复fox数据库的方法 Pending CN1279426A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 99110054 CN1279426A (zh) 1999-06-29 1999-06-29 一种修复fox数据库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 99110054 CN1279426A (zh) 1999-06-29 1999-06-29 一种修复fox数据库的方法

Publications (1)

Publication Number Publication Date
CN1279426A true CN1279426A (zh) 2001-01-10

Family

ID=5274342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 99110054 Pending CN1279426A (zh) 1999-06-29 1999-06-29 一种修复fox数据库的方法

Country Status (1)

Country Link
CN (1) CN1279426A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227623A (zh) * 2016-08-03 2016-12-14 深圳市智行畅联科技有限公司 一种基于智能终端的文件格式及数据掉电修复方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227623A (zh) * 2016-08-03 2016-12-14 深圳市智行畅联科技有限公司 一种基于智能终端的文件格式及数据掉电修复方法及系统
CN106227623B (zh) * 2016-08-03 2019-03-26 深圳市智行畅联科技有限公司 一种基于智能终端的文件格式及数据掉电修复方法及系统

Similar Documents

Publication Publication Date Title
US7366740B2 (en) Systems and methods for automatic maintenance and repair of enitites in a data model
CN101430703B (zh) 用于数据模型中实体的自动维护与修复的系统和方法
US7606842B2 (en) Method of merging a clone file system with an original file system
US5870762A (en) Error detection and recovery of database files
US20090228527A1 (en) System and method for providing data migration services
KR20060049879A (ko) 최적화된 복원 계획을 생성하는 방법
US20030046679A1 (en) Checking computer program installation
US6308288B1 (en) Testing method of the integrity of the software pre-installed in a computer hard disk
US6718466B1 (en) Data medium with restorable original base data content, and method for its production
US7730451B2 (en) Source server
EP2797001B1 (en) System and method for creating variants in a test database during various test stages
US20070214159A1 (en) Processing data using date information
JP4477531B2 (ja) データインポート方法およびデータインポート装置
CN117194385A (zh) 一种不同类型关系数据库间的数据迁移方法
CN1279426A (zh) 一种修复fox数据库的方法
US20050229162A1 (en) Systems and methods for providing multi-environment test automation
US20050066235A1 (en) Automated fault finding in repository management program code
CN102117394A (zh) 检测是否已经复制了计算机文件的方法和装置以及能够进行这种检测的方法和装置
JP5808264B2 (ja) コード生成装置及びコード生成方法及びプログラム
JPH04362735A (ja) ソースプログラム照合システム
Lee Server-based maintenance approach for computer classroom workstations
Schneller et al. MySQL admin cookbook
CN114242119B (zh) 一种光盘数据修复方法、光盘数据检查方法及计算设备
CN112882861B (zh) 一种业务配置数据装载与恢复系统及方法
Lentz Editing recon records: when is enough, enough? A selective review of the literature

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1071446

Country of ref document: HK