Recover - Since 1995

Top rated FoxPro/dBase file repair utility - FoxPro Advisor, Sept. '97 issue.

Version 4.0b includes latest Visual Foxpro 9 field repair.

Recover Homepage
Recover FAQ
Recover Order
Standalone Lib files
Recover Demo
Upgrades & Free Updates
Abri Homepage

Abri Technologies Recover Utility Questions and Answers
Where do I find 'Recover' instruction details?
Detail instructions are found in the "manual.txt" file that comes with Recover software and is also included with the free demo on our website.
Or Download Version 4.0b Recover manual, Download Rebuild utility instructions.

How does Recover compare to other repair software?
Recover has been around since 1995. Do not be fooled by "Advanced" and "Powerful" claims of more recent software flooding the market. Those typically perform trivial DBF file header repair and cannot handle more extensive damage, scan individual fields for errors or scan/repair memo field structure like Recover does.

Repairing tables over 2GB limit
Foxpro has a 2GB limit on file size. If your DBF or FPT file goes over that you may get an unusable file. Recover can trim the size of the table file to just below the 2GB and rewrite the header to make the table usable - as long as the file body is not corrupted beyond use.

What record (DBF) file damage can Recover repair?
File header damage:
The common file header record counter error is easily corrected - including the more stricter header/file-size requirements of Visual Foxpro 8+. In more extensive header damage Recover can completely rewrite the header using the .def file (see below). Recover can detect/adjust errors in the Visual Foxpro 8+ autoincrement header bytes.

Garbage in records and record offsets:
These are less common problems, but do occur occasionally. If garbage records or offsets are not detected in time, it can eventually cause serious problems to your application.
Recover includes the optional patented "Trace" method (see below) that reliably detect garbage records and offsets and reconstruct the record file from good records in the file having valid trace code.
Aside from the "Trace" method Recover uses two other possible methods.
a) If the whole file is offset with last part of the header still intact, Recover uses the last field header definition to rewrite the file correctly.
b) If there are further garbage records or offset damage detected by Recover, it can bring up the "Visual File Pieces Screen" so that you can visually select and mark the good records in the file. Recover will then rebuild the record file using the good records you selected.

What memo file and memo pointer damage can Recover repair?
File header damage:
The memo file header memo block counter can easily be corrected. Recover also corrects the memo block size value when you generate a .def file per instructions.

Memo Pointer Corruption and Memo File offsets:
Recover can detect and remove illegal and cross linked pointers in the record file that reference memos in the memo file. If the Trace method has been implemented in your app, Recover can even detect and correct WRONG pointers. No other FoxPro file repair utility can do that.
In some cases where the memo file is offset to incorrect position, Recover can use the SPM method to relocate the memo positions and recover Memo pointers.
If the Trace method has been implemented, Recover can reliably detect memo offsets and restore the memo file to correct structural memo block positions and correct the corresponding memo pointers. Foxpro special "general" memofields cannot be marked with the trace method. But they are repaired the same way as normal memos using the other methods available in Recover.

What are error detection capabilities of Recover?
Recover has excellent error detection capabilities. Error detection is as important as repair.

Record file error detection:
Recover detects record counter and other various file header errors, record offsets, garbage records and field errors. Since speed of record and field error scanning and file repair depends on detection sensitivity, the sensitivity is selectable.

Memo Pointer and Memo file error detection:
Recover can detect invalid and crosslinked pointers. When the Trace method is implemented for your database file(s) Recover can also detect WRONG pointers.

Important note on record counter error:
All FoxPro versions detect and generate error messages if the record counter is too large for the file size. But there is an insidious problem (to Foxpro 7) when the record counter is too small - when there are additional invisible records not indicated by file header record counter. If the file was packed or records added, those invisible records were overwritten or destroyed.
Visual Foxpro 8+ checks for too low header counter before opening the file and generates the error "Table 'FileName' has become corrupted. The table will need to be repaired before using again."
Some other sloppy database tools may place an extra file-end marker byte beyond the file-end marker already there which also will generate the error in VFP 8+.

Can garbled individual fields or fields that you regard as having wrong data be restored to their original contents?
No file repair utility can decide what should be the field contents.
BUT Recover can detect structurally invalid field data AND with proper options Recover can detect binary data in text fields and "suspicious fields" so that YOU can take appropriate steps in correcting the data intelligently.

In spite of claims by some repair utilities to automatically "repair" unwanted binary data in a field, garbled individual fields cannot be restored to original data. There is no way of software knowing what was there originally.

The "removal" or "replacement" of binary data with spaces or whatever can actually cause problems. Such an action can change the meaning or value of data with undesirable consequences.

Example 1:
If a field originally had the customer code "12345-B" and the garbled field was "XX345-B" and it was repaired to " 345-B" the result may mix up your customer accounts. (The X's here stand for binary garbage characters.)

Example 2:
If a memo field with original contents "Do not allow this customer a credit line." is garbled to "Do XXXXallow this customer a credit line." The "repair" can result in "Do allow this customer a credit line." after removal of the binary characters.

What is the .def file, is it needed and how is it made?
The .def file, "the structural definition file", is simply a small database file that has structural information about your corresponding database file.
Recover can repair the simple header record counter and memo counter problem without the .def file. However, any further record or memo file file damage requires the .def file for repair. Correct error detection and repair of more extensive file damage cannot be made without correct information of your file structure.
The .def file is made using the GenDef utility in the royalty free version and using the "Generate .DEF file" button in the single user version. In order to get correct structural information, generating the .def file requires a good backup or empty database file copy.

What if I do not have a good empty or backup copy of my file to make a .def file?
With the proper GenDef option selection, it is possible in most cases to make a .def file from the corrupt file - but it is not the recommended method.

What is the difference between single user and royalty free license?
The royalty free / programmer's license is intended for building into your application for automatic repair of your damaged files. This can avoid end user interaction. It can be used on a network or distributed with your application to your customers.

The single user license is a reduced price license. It comes with an easy to use selection screen and is intended for the occasional repair of a specific file by a single user. It uses the same file repair methods that the royalty free version does but it cannot be placed on a network or distributed for multiple end users or your customers - unless a site or appropriate multiple license has been negotiated. It also cannot be used in programmatic mode as the royalty free version.

How do I batch scan/repair all files in a directory?
The single user version is limited to one selected file at a time. The royalty free programmers version can easily be setup to handle multiple files. FoxPro program code example is given for that in the manual.txt file.

What is the Recover "Trace" method?
The "Trace" method (patented) is a very reliable method for totally automatic restoration of records, memos and memo pointers. It can put "Humpty Dumpty back together again". It is capable of

1) Removal of garbage records and restoration of offset records. Other methods require manual intervention - editors, etc. - in such cases. Most other utilities do not even offer ways of restoring records in such cases.

2) Restoration of memo file if memos are offset and restoration of CORRECT memo pointers for all corresponding memos that still exist in the memo file.

Some utilities can detect and "delete" illegal memo pointers - memo pointers that point to nonsense positions within or outside the memo file -; or "cross linked" memo pointers - two or more memo fields that bring up the same memo. But actual memo restoration does not take place. The file is simply structurally corrected.

None of those utilities can detect "WRONG" memo pointers. The Trace method is the only known repair utility method that can actually detect and correct "WRONG" pointers.

The Trace method, however, requires additional trace marking in records and memos and some additional program coding in your app BEFORE file damage.

What file damages cannot be repaired?
Recover is not a magic bullet. It is an excellent tool to aid you in repairing files with valid data. In some extreme cases Operating Systems will completely or significantly wipe out a file and replace its contents with binary numbers or random parts of other files. Recover cannot restore data that does not exist in the file. Also in some cases large file data records have been rearanged or displaced at a random or fragmented fashion that - even though the vFPS method can be used - it would take too much your time to repair the data. However, the Trace method is more helpful there that it can collect together all records properly marked with the trace code.

Similarly - except for the Trace method and in a few cases the SPM method - Recover cannot re-associate lost memo pointers. It can only remove bad pointers and crosslinks.

Important note: Trace method IS NOT TO BE installed in initially bad files in order to repair them. Trace codes must be installed and maintained in an initially healthy data files with good data. If trace codes are installed in a file with bad data that is exactly what will be extracted, the data that was marked with the trace codes.

Recover Says that the file is OK but....

1.) FoxPro Indicates a "Not a DBF... file" error.
This is very likely a Fox2x file that has been converted to a Visual FoxPro format - inadvertently. Therefore Recover finds it OK for a Visual Foxpro file but you cannot use it in FoxPro/Dos or FoxPro/Win. To verify that check if the file opens in Visual Foxpro.

2.) The file has bad memos or garbage records.
Please refer to previous section refering to .DEF files - required for thorough error detection and repair.

Is there a money back guarantee?
Recover was rated as the top repair utility in the Sept. '97 issue of FoxPro Advisor. However due to the nature of the software there is no trial period or refunds after purchase. In most cases the software is used only once or twice and a trial period would essentially mean free software.

In some cases we are contacted by individuals indicating they would purchase the software if they are assured it will fix a specific file. This situation requires us to engage into custom file analysis work without assurance of payment for work done. Our policy is to charge $60 per file analysis and letting you know the results. In such cases we are inclined to wave the $60 fee if the customer purchases a copy of Recover.