Menu
Is free
check in
the main  /  Firmware / Data recovery. Description of working with DBF Recovery Toolbox How to check the damaged DBF file

Data recovery. Description of working with DBF Recovery Toolbox How to check the damaged DBF file

Programs to restore lost information on PC.

New in the category "Data Recovery":

Free
UNDELETEPLUS 3.0.2.406 is a small application that restores deleted files. The Undelete Plus application will help restore lost files, including erased in DOS mode, from the basket, from Windows Explorer or from a network disk.

Free
SCAN DBF 1.6 is an application for repair or restoring damaged DBF files. The Scan DBF application will help restore damaged files when the computer or power failure fails when the end or the DBF file header itself is damaged.

Free
Recuva 1.42.544 is a convenient application to restore remote files. The Recuva application is easy to use and can restore data without configuration or for users not encountered before the programs.

Free
Recover My Files 4.9.4.1343 is an application to restore files that are removed using a basket in the Windows operating system. Also, the Recover My Files application has the ability to restore files that are lost due to disk formatting, erased due to PC failure, software failure or removed by viruses.

Free
PC Inspector File Recovery 4.0 is an application that will be needed to restore information when damaged hard disk. PC Inspector File Recovery can work with FAT 12/16/32 file systems, as well as NTFS.

Free
OS Backup Wizard 1.19 is an application for creating backups for Windows. The uniqueness of this application is its ability when reserving the system, do not use the excess disk space for this.

Free

Free
Norton Ghost 15.0.0.35659 is an application for archiving and recovering data on personal computers. The application supports reservation and restore work without rebooting the system.

Free
Handy Backup 7.1.1 is a convenient application for automatically creating copies of your data and documents that can be saved on any device (external or internal, as well as on CD-RW) or pour to the FTP server.

Free
GetDataback 4.25 is a powerful and convenient tool to restore lost, damaged or remote information from your hard disk. GetDataback application provides an intuitive interface and improved speed.

Free
Badcopy Pro 4/10/1215 is an application for data recovery from CDs, disks, Flash devices or hard drives that are damaged, have viruses, incorrectly recorded or have any errors. The Badcopy application works automatically when specifying a recovery directory, with the possibility of working with various formats of graphic, text and executable files, archives and other file types.

Free
Acronis True Image Home 2011 Build 6942 / Home 2012 Build 5545 is a powerful application for creating accurate images for selected partitions of discs or disks themselves. The Acronis True Image application creates a backup of all data, applications and operating systems, with the ability to quickly restore or copy on another computer with the ability to create a full copy of this computer.

Free
Acronis Disk Director 11 HOME is a comprehensive software package with a multitude of necessary to work with partitions and wheels of a hard disk of tools. The software package has features to manage your discs and partitions, as well as create your own boot disks for backing up the system and quick recovery.

Free
DivFix 1.10 With this program, you can easily view partially injected .avi videos. The DivFix program supports viewing files of various video formats, including.wmv or.mpeg. Since files.avi is possible only if they are completely injected, due to the fact that at the end of the files there is an index table, and it cannot be opened without it, then they do not reproduce it on other players.

Free
AVI PREVIEWER 2.2.7 is a program that has the possibility of viewing not to the end of the downloaded or simply damaged AVI files that are not played on ordinary players or have defects. The AVI Previewer program will allow you to correct files if they are damaged, restore them after removing or incorrectly extract from the archive and the like.

Free
Advanced Zip Password Recovery 4.00 is a program with the possibilities for restoring lost passwords for ZIP archives.


Screenshot 1.

Immediately after starting the program DBF Recovery Toolbox A DBF file selection window opens for recovery. Selecting the desired file can be done in three ways:

In addition to the DBF file, the table may also include a file containing information from the MEMO fields in its structure. Such files typically have a name that coincides with the DBF table name and FPT extension for FoxPro or * .dbt format tables for DBEE format tables.

Note: If the damaged DBF file contains the MEMO type fields, but the FPT or DBT file is not specified, the DBF Recovery Toolbox will restore only the field structure of the main table file and references from it to the file of this field. However, the information contained in the external file will not be processed. Thus, if the Memo file was not damaged, a normal further work with a recovered table will be possible. However, if in addition to the DBF table itself, it was damaged and the FPT or DBT file is not restored, malfunctions are possible.

After selecting the table being restored to continue the work, click Analyze button, which is located at the bottom of the program window.

If you have an error when entering a name or path to the table file, the program will display a prevention of Please Select File To Recover! (Please select a file to restore!) And the process analysis of the table is started will not be.


Screenshot 2.

When you go to the Stope viewing Structure and content of the source table, the program will display a window with a warning about the start of the DO YOU WISH TO START RECOVERY information recovery process? (Do you want to start recovery?). In case you need to change the name or path to the DBF file, or add a Memo file to the selection, you need to click the No button and return to the file selection window using the Back button.

In case all files are correct, you need to click Yes button in the dialog. After pressing this button, the program will start analyzing the DBF table file and additional Memo field files.

If, when analyzing the structure of the source table, the Memo fields were detected, but the FPT or DBT file was found for such fields - was not specified, the program searches for files such as the name that matches the source file in the directory from which it is read. When detecting, the program will give a window with a proposal to use the file when analyzing the table.

In the process of analyzing and restoring information, the program DBF Recovery Toolbox:

  1. Reads the file header, identifies the names and types of the table fields and determines the offsets from which the records are physically started in the source file.
  2. It identifies the start of each source table entry and retrieves all fields of these records from the source file. If the table contains the MEMO fields, identifies the links contained in the table records to the data addresses stored in the files of these fields. The memo file itself is not processed.
  3. If a file associated with Memo fields (FPT or DBT) is specified, the program analyzes its structure and identifies the file entries corresponding to the links from the main table.

When you restore information at the bottom of the screen, a progress bar will be shown, with which you can estimate at what stage data is restored.

After the analysis of the damaged DBF file in the main working area of \u200b\u200bthe window will be shown restored information in the form of a table. The columns displayed on the table screen will correspond to the fields of the source file, and the table lines are recorded.

If the file is damaged so much that the program cannot restore information from it, the Send a File to Developers button will appear at the bottom of the window (send to the developers file), with which you can send a damaged file to the developers of the program by email for more Detailed analysis and recovery. Also at any time, you can send a file to developers to analyze, using the Send Source File item in the Actions menu.

After viewing the recovered information, click Next (Next), which is located at the bottom of the program window, to go to the storage steps of the recovered file.


Screenshot 3.

When working with the source DBF file and all the attached files, no changes are made to them. All work occurs with a copy of the information in the computer's RAM. Therefore, for further work with recovered data, they must be saved on the disk.

In this case, saving the information recovered from the source file is possible only in the registered version of the program. In the trial version, only viewing information on step 2 is available.

You can use three ways to select information to save information:

  1. Entering the path and file name in a field with a list of REPAIRED File Name (.dbf): (name of the recovered file (.dbf) :), which is located in the main work area of \u200b\u200bthe window. When you open the file selection window to save the program automatically fills the input field. By default, it is proposed to save the recovered DBF file to the same folder from which the source file was obtained, but with the name consisting of the name of the source file and the _repaired suffix. That is, if an example.dbf file was used, the program will suggest saving it under the name Example_repaired.dbf.
  2. Choosing a folder to save and file name using a standard file saving dialog. The file selection dialog dialogue button is right from the field with a list. When opening a dialog, a directory is also used, from which the source file and the file name, built on the principle described above, is also read.
  3. Select a file from the input field drop-down list. When working with table files, program DBF Recovery Toolbox Saves information about previously saved files in your settings, and if necessary, these names and ways to files can be reused.

After specifying the path and the name of the stored file, you need to press the Save button to save the restored information located in the bottom of the program window.

If the directory specified in the Repaired File Name field (.dbf): Does not exist, the Directory Does Not Exist will be issued (the directory does not exist), the file will not be saved and the program will remain at the file selection phase to save.

If the file specified in the field already exists, the program will give a request for its overwriting Do You Want to Rewrite The Existing File? (Do you want to overwrite an existing file?). If you press the NO button (no), the program will also remain at the file selection phase. If the Yes button (yes) is pressed, or if such a file does not exist, the DBF Recovery Toolbox will switch to the recovery results.


Screenshot 4.

The program can save information read from the source file in any format: DBASE III-IV, FOXPRO 3.X (OR LATER). However, it should be borne in mind that while maintaining a document in the format of previous versions, part of the data incompatible with the version of the stored file may be lost or damaged.

Selecting the format of the stored document is carried out using a field with a SELECT OUTPUT DBF FILE VERSion drop-down list: (select the version of the resulting DBF file).

When you open the format selection window, the program automatically proposes to save the recoverable document in the format version that matches the source document. If the source file was damaged so much that it was not possible to determine its version, the default program will be saved to save the file in the latest available version of the format.

After completing the setup of the format of the stored document, to go to the process of restoring and saving the data, you need to press the Save File button, which is located at the bottom of the program window.

If necessary, you can return to the file selection page to save by pressing the back button.


Screenshot 5.

At this stage of operation, the program in the main working area of \u200b\u200bthe window displays information about all files that have been restored in this session of its work. Information consists of:

  • name and path to the file that restored;
  • name and path to the file in which restored information has been saved;
  • the number of records that were restored;
  • the time when the DBF table file restores.

After viewing the magazine, you can go back using the Back button, which is located at the bottom of the program window to change any parameters of working with the program (save the recovered file under a different name, select another file for recovery, etc.).

If working with the program is completed, you can click the Finish button to exit or simply close the program window.

End of work

After viewing the log, you can finish the work by clicking the EXIT button or selecting an EXIT command in the File menu. It is also possible using the Bak button to return to the first page of the program and select another file to restore. Please note that in this case, when the file is saved, the name and folder of the recovered file are not automatically changed, and they will be needed to be changed manually or choose using a dialog.

People in the pursuit of comfortable working conditions for them often do not think about the safety and preservation of their data and sooner or later faced with questions of their loss. Consider the client's appeal with USB Flash 2GB Transcend. According to the client, one of the days when installing the drive in the USB port of the computer was proposed to format it. According to the client, he refused this and asked for help to the system administrator. The system administrator, finding that when connecting the USB drive, the computer "hangs", did not come up with anything better than agreeing with the supply of the operating system to format it ( do not do it!). Next, the system administrator used the popular R-Studio automatic recovery program. The result of its work in the form of unnamed folders was copied to the client to another drive. When viewing the result, the client found that about a quarter of files could not be open and, worse than just, 1C Accounting 7.7 refused to run with the restored base, referring to the absence of files.

As it turned out, a backup copy of this base of the client more than annual limitation.

The first stage in solving such tasks is to create a block copy of the original drive (or how to write from time when the carriers were only drives on flexible and hard magnetic disks - sectoral). When subtracting, an unstable read speed is detected, which indicates a serious wear of the NAND memory (multiple reading of the NAND controller of the NAND memory page and the error correction due to the redundancy of error correction codes (ECC) is a very resource-intensive operation, which ultimately affects the read speed). In the presence of unread plots, it is necessary to fill them with a pattern, which in the future we will help identify files that were not fully subtracted.

Next, proceed to the analysis. It is necessary to install which file system and in what borders was previously on USB Flash. That is, it is necessary to search for regular expressions characteristic of various metadata of file systems, but before starting it, check the simple version that implies that the boundaries of the sections are old. To do this, set the current file system parameters.

Open LBA 0 (0x0 in the file file) and check the presence of the partition table there, or the availability of boot sector file system.


Fig. 2.

In our case, we see on the 0x0B type-type displacement, meaning that at the moment the USB drive is the FAT32 section, which starts with 0x80 sector (DWORD by offset 0x1c6), length of 0x003C2000 sectors (DWORD via 0x1CA displacement). Go to the boot sector of the described partition in the 0x80 sector (in the image image file 0x10000)


Fig. 3.

It is necessary to calculate the starting point, that is, the location of the zero cluster, relative to which the space is calculated, as well as determine the size of the cluster.

To do this, we need the following parameters described in the Boot sector (will be specified in the form of offset from the beginning of the sector): Size sector size 0x0B - 0x200 (512 bytes), the number of sectors in the cluster by offset 0x0d - 0x08, the cluster size is obtained by multiplying the size Sectors on the number of sectors in the cluster 0x08 * 0x0200 \u003d 0x1000 (4096 bytes), the number of reserved sectors to the first copy of the FAT tables - by offset 0x0e \u003d 0x01Fe (510 sectors), number of copies of FAT - by offset 0x10 \u003d 0x02, size of one copy FAT - Upon displacement 0x24 \u003d 00000F01 (3841 sectors). Using the obtained parameters, we will calculate the position of the beginning of the data area: 0x10000 + 0x01FE * 200 + 0x00000F01 * 2 * 200 \u003d 0x410000 (8320 sector). A small catch from the creators of FAT32 is that at the moment we calculated the start of the data area for the FAT32 partition, but it is not a zero point of reference, since the first two entries in the FAT table are reserved and not used in direct intended, in connection with which The zero point is made the beginning of the data area for minus 2 clusters. In this case, it will be 0x410000-0x1000 * 2 \u003d 0x40e000 (8318 sector).

Perform a check for the lack of entries in the file posting table and carry out the comparison procedure of copies for discrepancies.


Fig. four

Comparison of copies FAT has shown that there are no divergences. The content analysis of one of the copies of FAT showed that according to the table, only one cluster is filled in the section.

Next, you need to evaluate the root directory for remote records. The position of the first cluster of the root directory is indicated in the Boot sector on the offset 0x2c \u003d 0x00000002. For the second cluster in FAT, FF FF FF 0F is indicated, which means the end of the chain, that is, the root directory consists of one cluster.


Fig. five

At the address calculated above, we see the root directory (root directory), which contains the only 32-byte record. By offset 0x0b, we see the value of 0x08, which indicates the type of record - Tom label. The fact that the location tables are filled with zeros, and there is no hint of any other records in the root directory, it suggests that this section was formatted.

To verify the assumption that the section has not been re-excited and all file system parameters are correct, it is necessary to search for a regular expression 0x2e 0x2e 0x20 0x20 0x20 0x20 0x20 0x20 with a displacement inside the 0x20 sector (this expression is the start of the FAT32 directory).


Fig. 6.

When finding a regular expression, it is necessary to make sure that this is really the directory, according to other signs, since in some cases it is possible a coincidence and the found regular expression is not an element of the directory. According to information in Fig. 6, it can be said that this directory began with 3 clusters (the number of the current cluster of the DWORD directory is contained in Word on 0x1A offset (younger) and Word over 0x14 (senior part)) and described in the root directory, since the offsets 0x3a and 0x34 contains zeros (initial cluster of the parent directory). Check whether the cluster number corresponds to this directory of the zero point of reference to the file system created after formatting. For this, the cluster number of the directory multiply on the size of the current cluster and add to zero point 0x03 * 0x1000 + 0x40e000 \u003d 0x411000. As we see, the estimated address corresponds to the actual finding. You can only set the name of this directory only if the root directory consisted more than one cluster, and the reference to this directory was not in the first cluster, since the contents of the first cluster at formatting were completely destroyed along with the file location tables.


Fig. 7.

We repeat all the checks: 0x04 * 0x1000 + 0x40e000 \u003d 0x412000. Again we see match the position of the directory parameters of the current file system. But, in addition, we see that there is a cluster number of the parent directory 0x03, which indicates that this directory was embedded, and looking at fig. 6, you can set the name of the directory, which is depicted in Fig. 7. So, according to fig. 6, by offset 0x4b we see the value of 0x10 - this means that this entry indicates the directory, and by offsets 0x5a and 0x54 the number 0x00000004 is the pointer to the 4th cluster. By offset 0x40 - the name of the "bin" directory. It is thus establishing the relationship of the directory in the damaged FAT section. After performing a certain number of checks of the directories in different parts of the image, you can make a final conclusion that formatting in the boundaries of the previous file system and the parameters of the newly created file system are inherited from the previous one, that is, further analytical operations need to be carried out within the section, Described in the partition table, taking into account the parameters of the current file system.

Knowing that 1C base consisting of DBF files must contain 1cv7.md configuration file, execute sequence sequence 0x31 0x43 0x56 0x37 0x20 0x20 0x20 0x20 0x4d 0x44. In order to reduce the number of obviously false results, the search is best executed within 32-byte blocks with zero offset.


Fig. eight

Thus, we find all directories containing a pointer to file 1cv7.md. In our case, only one such directory was found, which suggests that we found the first cluster of the required directory. Next follows the analysis of the position of parent directory, up to the root directory. Each found directory is written to the FAT table (first as a directory of one cluster, by recording FF FF FF 0F for the corresponding table element). Also in the root directory is prescribed a reference to a child object.

At the current stage, we will perform copying the files found with the assumption of their continuity, since both copies of FAT do not contain fragmentation information (we will remind that they were irrevocably destroyed by the system administrator as a result of thickened USB Flash formatting). After copying the 1C database directory, analyze the number of files. Considering that the fragment of the directory was the size of one cluster, we removed not more than 126 files, which is clearly much less than it should be in the directory with DBF and CDX files relating to 1C database. Approximately the same result will be given automatic recovery programs, as evidenced by the result obtained by the system administrator by using R-Studio.

Among the extracted files there are 1cv7.md (configuration file) and 1cv7.dd (data dictionary file). After performing the integrity check, we will create a temporary folder on the disk where 1cv7.md is placed. We will specify this path when adding a new database and open the configurator by creating a clean base based on this configuration. Compare the formed DD file with restored if the descriptions and number of reference books are identical, then no additional actions are required, and, having a complete list of files, you can start searching for the other fragments of the 1C database directory. To do this, it is necessary to search for sequences from the ASCII characters codes used in the names of the missing DBF files. As the fragments are detected, the continued chain continues to add to the file placement table. After each complement operation of the directory chain, copy files and analyze how much the number of missing DBF files has decreased, and again form the ASCII sequence of characters for the search for the next fragment.


Fig. nine

It is also necessary to remember that when the directory fragment chain is written to the file placement table, it is necessary to analyze fragments so that LFN records are shown. In the case of only short records, the chain can be written with any order of fragments.

In this case, following the search for 5 sequences, it was possible to find all other fragments of the database of 1C.

After the full chain of the directory fragments is built, perform again copying all the 1C database files with the assumption of their continuity. Custom information is contained in DBF files, so you need to check their integrity.

The main method of controlling the integrity of the DBF file is to check the information contained in the service header and does the contents of the file describe in the title compliance.


Fig. 10

The header assessment is initially: it is checked. Its length indicated by offset 0x08, whether the shift indicated in it to the final marker 0x0d. The database field records, starting with the 0x20 offset, are described by 32-byte records, in which the field name is followed by offset 0x00, the field type is 0x0B by offset 0x10 - the field size. The amount of the size of the fields is +1 (one additional byte for each record in the database is the status of recording in DBF) should be equal to content via a 0x0A (size of one entry in the database). In the drawing of DBF files, we see the following field lengths: 0x09 + 0x10 + 0x10 + 0x10 + 0x10 + 0x10 + 0x01 \u003d 0x5a.

We will check the correctness of the size of the file. To do this, multiply the number of records, which is indicated in the title by offset 0x04 to the size of one entry in the database of 0x0A displacement, followed by adding to the contents of 0x08 offset.

0x00000003 * 0x005a + 0xe1 \u003d 0x01ef. According to the received displacement, a 0x1a file end marker should be.

To monitor the integrity of the contents of the fields, you can use a visual method.

In such a viewing option, you need to scroll through the contents of the entries from the beginning to the end. If the filling is homogeneous, there are no data types in each field characteristic of the above-described in the header and foreign content, then upon completion of the DBF viewer, you can conclude the correctness of its contents.

When the content that does not match the field description in the database header, you must set the exact location from which incorrect data begins.


Fig. 12

Based on the description of the fields in the title and the contents of a specific DBF file, you can form alleged ASCII sequences that should be on specified displacements in the missing fragments. In the absence of the same type of databases on one of the drives (including file copies of the same base), this method will relatively quickly find all the missing fragments in the drive. Separately, we note that there will be additional difficulties in the docking of the fragments if the size of the entry in the DBF file is small or shorten 16. In the presence of other similar databases, the task will be many times complicated (this statement is fair at all stages of work, starting with the search for fragments of the desired directory).

It is necessary to check the integrity of each DBF file, which in one 1C database several hundred. Upon passing of all checks and fees for file fragments, the final check in the 1C enterprise configurator will follow.


Fig. 13

In the perfect version, all items marked in checkboxes should be successfully followed by test results. If errors are detected on the first two items, it is necessary to analyze the error log in the configurator and find out which DBF files are foreigners that have not been detected during checks. If errors are detected when checking logical integrity, again, it is necessary to analyze the error log to find out whether the problem of the base is to collect it, or in errors made by the 1C configuration developers.

Let's pay attention to the fact that if this USB Flash was not formatted, then after its deduction, the data recovery procedure would be much simpler, which would be much reflected in the cost and period of work at a smaller side. In conclusion, I would like to warn all users and attendants from rampant actions in emergency situations that repeatedly exacerbate the problem, as well as wish more often to perform backup operations.

Previously, I wrote to Clipper Summer 87.
It is necessary to create an index file CDX on Clipper 5.3, but I can not even collect EXE-Schnick.
At the beginning of the program inserted:
Request dbfcdx
RDDSETDEFAULT ("DBFCDX")
Linous as in the example:
Blinker File $ (OBJS) Output [Email Protected] LIB DBFCDX.LIB

When assembling it gives an error:
Blinker: 1115: dbfcdx.lib (CL53init): "_dbfcdx": unresolved external

Replaced Blinker.
Began to try to collect blinker 6.0
same.

What is interesting, if instead of DBFCDX connect for example DBFNDX, i.e.
in a programme
Request dbfndx
RDDSETDEFAULT ("DBFNDX")
and then
Blinker File $ (OBJS) Output [Email Protected] Lib dbfndx.lib.
then everything normally lines and works

On the second question - in my system I also use both CLIPPER (more often) and FoxPro (less often and tied with him, because FoxPro is a murderous disadvantage - the maximum dimension of the array 2. For the algorithmist, it's firewood. If you knew at once - in general Fox did not bind). But nevertheless there are several programs on Foxe. However, I do not understand why general indices are needed? In Clipper, I use NDX, and on FOXE is its fucking IDX, DBF common. The work goes apart - to each his own. Or the system is so monumental, which is a continuous flow of changing files from two sides? I am afraid that there is no normal solution for heterogeneous systems, so closely working with each other at the level of indexes.
And about the glitches to create a CDX clipper, the only advice is to throw off the file with a minimum test example without an object (prog + DBF + a description of the glitch (when and how it manifests itself), maybe someone can do to the essence of what is happening.
At least I have an interest.

Reply to previous letter. _dbfcdx.lic Of course I am imposing, but it does not help.

To implement the interest that arose, you can take the first .dbf and build on any index. CDX clipper and fox.
The size of the indexes will be different, not to mention the content of the same alleged indexes.

W. fox. there is an advantage compared to clipper: It works much faster with the base, and I have a challenge for 400 thousand subscribers who need to be massively recalculated every month. Here Fox would help, and then run on management, computers I am looking for, which you can leave for the night to calculate. So such a bundle is sometimes quite useful: ... I have a challenge for 400 thousand subscribers ... ... and then run on management, computers looking for, which can be left for the night to calculate. Of course, this is not the topic, but with such a number of subscribers and, it became high responsibility, it makes sense to highlight a separate server. Then you can run service tasks. My clipper prog, which is already 13 years old, does.

Andrey: URRI writes: And I have a task of 400 thousand subscribers I had a task used to be 150 thousand subscribers. I considered the whole night. Then the limit of the algorithm (did a long time) began to count in 5 hours. Switched to Hharbor. He considers 1.5-2 hours about. So Fox that Clipper is time to go to normal compilers. And if the leadership does not understand your work - you need to change the manual, or score to work. The sooner you understand this truth, the easier it will live on.

I watched on khharbor. At the beginning of his creative path, but did not find the opportunity to attach the ADS to him, without which he now does not think work for its large bases (correctness of indexes and transaction is expensive). If you know how to make friends with ADS - tell me please and give a link where to take a steadily working Hharbon. I will try to raise the calculation part on it - it can be lighted.

On the normal compiler to move, say? This is despite the fact that 60% of cars (out of 300) such that half of them W98 with difficulty pulls, and the other half - W95 only supports with 14 "monitors and a resolution of 640 * 480 ... What, on VBasic-4? A The leadership is now difficult to change - the crisis circle however, the employers of programmers do not complain now. Or in your region differently? Pasha: ADS support is in Harbor. Harbor with ADS made friends even earlier than with DBFCDX, i.e. Opening RDD for ADS was ready when DBFCDX was still buggy

Andrey: URRI writes: that half of them W98 is hard to pull, and the other half - the W95 only supports with 14 "monitors and a resolution of 640 * 480 ... What, on VBasic-4? So Hharbor even on W98 - 95 work much more stable And it will be faster. I also really doubted before, and now I just think why no one before him (Khharbor) did not show it !!! The task of the clipper in the Harbor was transferred simply compilation, but there may be troubles, but small. problems will be prompted. I Already systems 5 of their own and 3 strangers of Prances !!! Studies even easier went, did it!

Urri: Dear (along with the moderator Pasha)! You do not tease, and give the link to the stable release of Harbor and RDD for ADS and wherever you can read. PLEASALLY. Very necessary

Andrey: That's damn! You take just a xharbour swing from there a version and everything! I'm already sitting on this version for almost a year!

Spent a test for clipper 5.3., Blinker 1.0 and FoxPro 8.
There are two identical TestClp.dbf and testfox.dbf file
With Name, Name1 - C (10), Number, Number1, Summaclp, SummaFox - N (10).
Special program fill.exe<кол-во записей> Fills both of these files in this way:
Name \u003d A000000001, NUMBER1 \u003d 1 for the 1st entry,
Name \u003d A000000002, NUMBER1 \u003d 2 for the 2nd entry, etc.
The Name1 and Number1 fields are filled in the same way, but in reverse discount, i.e. These values \u200b\u200bwill have the last and penultimate recording, etc. The Summafox and Summaclp fields are not filled with Fill.exe.
Next, there are two similar programs on Clipper (Testclp.exe) and on FoxPro (testfox.exe). For Testclp.exe (Clipper) Next task:
a) index the TestClp.dbf file over the NAME field (Tag FLD)
and on the Name1 field (TAG FLD1), while creating "its" index TestClp.cdx;
b) go through the testfox.dbf file and, using the) index file, for each row from testfox.dbf by the Name value, find the line in the TestClp.dbf file, which has the same name field and add the number of the Number from this file to Summaclp field from testfox.dbf; Then, on the same Name value, find another line in the TestClp.dbf file, which has the same Name1 field and deduct from the Summaclp testfox.dbf field.
c) go through the TestClp.dbf file and using the testfox.cdx index file created by another program (testfox.exe - foxpro),
For each row from TestClp.dbf by the value of Name to find the string
In the TestFox.dbf file, which has the same name field and add the Number field
From this file to the Summaclp field from TestClp.dbf; then on the same value of Name
find the string in the TestFox.dbf file, which has the same field Name1 and
Subtract from the Summaclp TestClp.dbf field.
For TestFox.exe (FoxPro) Similar task:
but) index file testfox.dbf on the NAME field (Tag FLD)
and in field Name1 (Tag FLD1), while creating "its" index TestFox.cdx;
b) go through the testclp.dbf file and using the) index file created in a), for each row from TestClp.dbf by the Name value to find the line in the testfox.dbf file, which has the same name field and add the number of the Number from this file to Summafox field from testclp.dbf; Then, on the same Name value, find the string in the testfox.dbf file, which has the same Name1 field and deduct from the Summafox TestClp.dbf field.
c) go through the testfox.dbf file and using the testclp.cdx index file created by another program (TestClp.exe - Clipper),
For each row from testfox.dbf by Name value, find the string
in the TestClp.dbf file, which has the same name field and add the Number field
From this file to the SummaFox field from testfox.dbf; then on the same value of Name
Find a string in the TestClp.dbf file, which has the same field Name1 and
Subtract from the Summafox TestFox.dbf field.
Thus, with the correct operation, both programs should add and subtract the same number to each field (although located in different records), and as a result, with the correct operation of the system, zero values \u200b\u200bshould remain in the Summaclp and SummaFox fields in both files .
The test was carried out for 100,000 and 400,000 entries, and despite the different size of index files, gave the correct result. The only thing - when adding records, one of the index files ("strangers") remains incorrect, so when you first start, each program performs only work with "your" index, and does not brand with "stranger". After starting the second program, both files are properly indexed and both programs begin to work without failures (similar to the decrease in the number of records, but FoxPro flies in Error on a foreign index, and I had to apply ON Error handler ... but this is Because the change in the number of records is made by fill.exe without the opening of both indices, as well as due to the fact that each of the programs will not reinperse someone else's index (that is, this
The problem is artificially created - otherwise it should not be). If you allow FoxPro to re-indexing someone else's index - then normal operation is restored. Next, "improve" the error processing system, I did not, so that both programs did not differ much from each other.
Next: Next:
1) I first had CLIPPER 5.3 without a patch (and I have been working on it). He really gave failures: Starting somewhere with 40000 entries, sometimes it worked fine, sometimes hung, sometimes departed with an error (such as the program performed an invalid operation) At the beginning of the program, when you try to index "my" CDX. As they advise here on the forum, he made a patch to 5.3b - everything worked fine. But also to the patch of glitches were not in the sense that the foxpro indices were not understood - without reindexing (When both indesses were created FoxPro) Processing was performed normally, Clipper was falling on the creation of "its" indexes.
2) For modern Cubd 400,000 records - not so much. how
Seen from the test results, processing the entire file with random search
It takes 2-3 minutes to maximize even several outdated computers. So 2-4 hours of time on modern technique (and even 30 minutes) - this is "Das Ist Fantastish" in my concepts. The problem is most likely either in a non-economic algorithm, or in narrow sites of the type of network bandwidth (due to the cooking passage of the client-server architecture, which I have to do with it - but this is an offtopic). 3) As can be seen from the test results, the time for creating an index is slightly compared to the total work time, so it's best to start the indexes before starting processing files, not trusting the previously created "strangers" and "your" indisections (if only they Not used at this moment by other programs).
Each of the programs in the case of normal file processing Reports time (in sec.), required for:
- create a "its" index (pyNT A);
- file processing on "its" index (point b);
- file processing on "someone's" index (paragraph B);
- Total time of work (here is added more time for filming fields
Summafox and Summaclp zero values \u200b\u200bin both files).
An archive is attached:
info.doc - the results of the experiment in time of execution.
fill.prg - text auxiliary programs On Clipper to fill files.
Calc.prg - text Clipper program.
PROGRAM1.PRG - FoxPrograf text.
makefill.bat - Creates Fill.exe (I will have to correct a little)
MakeCalc.Bat - creates testclp.exe (the same).
Proj1.pjx - project file on FoxPro.
TestFox.dbf and testclp.dbf - data files (created in DBU).
TestClp.cdx is an index file created by CLIPPER.
testfox.cdx is an inrex file created by FoxPro.
fill.exe - program To fill files.
Testclp.exe - program on Clipper.
TestFox.exe - program on FoxPro.
For testfox.exe, Runtime Environment will be required (from VFP6
Most likely not suitable, so you have to use the text from Program1.prg
And perhaps also to correct).
To reduce the scope of the archive, the DBF files contain 10 entries for real tests, the number of records should be enlarged.
If available Clipper 5.2, then you will also have to correct the fill.prg and salc.prg.
Tests for Clipper "87, Clipper 5.2 and VFP6 I will try to execute a little later, because I do not work with these versions and now there are no
(as well as Cross tests like Clipper 5.2<-> VFP8 and Clipper 5.3<-> VFP6).
Despite the seeming simplicity of the task, there was still a lot of time, but it was precisely such objective comparative studies to be considerable interest. AnAndrey: Algo writes: so 2-4 hours of time on modern technique (and even 30 minutes) - it's "das IST Fantastish "in my concepts. The problem is most likely or in a non-economic algorithm is not a problem, and not an uneconomic algorithm. Normal, differently fail. For the concept of this algorithm, it is necessary to provide a record of the values \u200b\u200bof the 24 amounts of the arrival of money, 24 dates of the arrival of money, 24 tariffs, 24 amounts of accruals, etc. In one entry in the database. So it was also written on the clipper, and not yet reworked, and I will not probably. I saw on the 1C version 7.5 platform, I implemented the accrual of utility payments, so 9.tes. Called subscribers were made about 5 hours. And nothing, no one complained.

Business solutions

If the use of online recovery service is not possible, you can download one of the following utilities:

In addition to the possibility of restoring information at home, they also provide unlimited possibilities for restoring a large number of files, professional support and many other options beneficial to corporate users.

Video Guide to Using OfficereCovery Online

About OfficereCovery for DBF Online

OfficereCovery for DBF Online restores damaged DBF databases (DBF).

Supported versions of Visual FoxPro:
9.0, 8.0, 7.0, 6.0, 5.0 and 3.0

Restored data is saved to a new Visual FoxPro database.

After completing the file recovery, you can evaluate the demo results and register for free receiving results or purchase them immediately. If the file failed to restore, you can order its analysis by our experienced team of specialists.

Examples of using

The DBF damaged DBF file restoration service can be used when the DBF file does not open in Microsoft Visual FoxPro and you see errors or warnings during opening.

In order to quickly restore a damaged DBF file, download the DBF database to our cloud recovery service using the form on this page.

It is important to note that if the recovery process is successful, as a result you will receive a DBF file ready for use. You can get a fully restored DBF database by selecting paid or free options.

Standard features:

  • Support for Microsoft Visual FoxPro database, dbase, foxbase dbf
  • Restore table structure and data
  • Create a new database (.dbf) with restored data
  • Easy to use, does not require special skills

Description of the Recovery File tool OfficeCovery for DBF Online

DBF damaged databases are files that unexpectedly become unsuitable for use and cannot be opened using Microsoft Visual FoxPro. There are a number of reasons for which the DBF file can be spoiled. And in some cases it is possible to correct and restore the damaged DBF (Visual FoxPro 9.0, 8.0, 7.0, 6.0, 5.0, 3.0) file.

If your DBF database suddenly has been damaged or inaccessible to open in the program in which it was created, do not despair! You do not need to buy more expensive software to restore only one damn DBF file. OfficereCovery for DBF Online presents you a new online service that will help you restore the damaged DBF database instantly. All you need to do is just upload a damaged DBF file using a browser, evaluate the quality of the restoration of the results of the results and choose the problem of solving the problem.

OfficereCovery Online for DBF supports Microsoft Visual FoxPro 9.0, 8.0, 7.0, 6.0, 5.0, 3.0. Restored data is saved to a new Visual FoxPro database.

OfficereCovery for DBF Online offers free and paid options for full recovery results. The free option suggests that complete results can be obtained absolutely free for 14-28 days. All you need to do is just subscribe to free results after the end of the DBF file recovery process. If you need to get a recovered DBF file immediately, instantly, you need to choose a paid version instead of free.

What to do if the DBF file has no data for recovery? You can order a non-reportal analysis of your file by our experienced technical team. In some cases, data recovery is possible only manually.