VDF-GUIdance logo

  Visual DataFlex Logo

Shared knowledge leads to accumulated knowledge

        Printer Friendly Page

Size: 339 KB Download
Date Created: 10/09/2000
Date Updated: 10/09/2000
Author: Leon Raafs
Company: Pentis Computing
This is a tool to rebuild datafiles. It does this by dumping the selected files to ascii, zeroing them and reloading them from the dumped ascii.


by Leon Raafs
This tool can be used to rebuild your DataFlex datafiles from scratch.
One of the main reasons to write this tool was to have a means to restore a corrupted datafile that has an unrecoverable error such as a status 4. This error is unrecoverable in that it can not be repaired by running a simple reindex or restructure.
Currently there are 2 ways of getting rid of such an error.
One of them is running the status 4 fix utility from System Economy which tries to repair the header of the file.
The other one is reading the entire file out to ascii, zeroing the datafiles and afterwards reading the data from the ascii file back into the datafile. The latter one can be automated by the use of this utility and it has full source included! This means that one can easily integrate this utlity into their own applications.
This is free of any cost, but we do hope that you email improvements and possible deficiencies back to the author of the program
Errors that might occur during the rebuild operation can be detected because they are written out into a status logfile.
We prefer this method above reporting errors to the screen, because it will not interrupt the process. As a result one can rebuild large datafiles during the night. The big advantage is that the process will not stop due to a relatively small error ( e.g. duplicate errors, write past extent) that may have been encountered.
One final note: Do not forget that this utility is a tool to rescue corrupted data. This means that one should never forget to make a good backup copy of the datafiles (*.dat, *.k?, *.vld, *.tag, *.hdr) before starting this process. We have attempted to make the tool as robust as possible but you never know.