CN1279426A - 一种修复fox数据库的方法 - Google Patents
一种修复fox数据库的方法 Download PDFInfo
- 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
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数据库的方法。
数据库管理系统主要是对数据库中数据进行增减、统计运算,最终得出人们所需要的各项统计分析结果。多种原因可导致数据库文件结构破坏,特别是网络传输速度相对较慢,突然掉电等非正常关机极易造成库文件结构破坏,一类为显性破坏,表现为数据库文件不能被打开使用,应用程序不能正常运行,此类文件结构破坏已被广大计算机用户所认识。另一类为隐性破坏,表现为数据库的全部或部分记录丢失,数据库仍能正常使用,但数据的丢失,导致最终的统计运算错误,此类文件结构破坏无明显异常表现,它是数据库管理系统运算结论错误的主要原因,这种隐性的文件结构破坏还不被人们所认识,具有更大的危害性。目前解决数据库损坏的方法主要有(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,也称字段描述部分结束标志,并读取该位置偏移量,同文件头中记录区起点偏移量数据比较,若不相等则修改文件头中的相应数据;第四步读取整个记录区数据长度,用记录区数据总长度除以字段总长度,算出实际记录总数,并与文件头中的记录总数相比较,若不相等,则修改文件头相应数据。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227623A (zh) * | 2016-08-03 | 2016-12-14 | 深圳市智行畅联科技有限公司 | 一种基于智能终端的文件格式及数据掉电修复方法及系统 |
-
1999
- 1999-06-29 CN CN 99110054 patent/CN1279426A/zh active Pending
Cited By (2)
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 |