FAQ
Jiannan Machinery has been an intelligent product service provider for over 50 yearsLocation:Home / Services / FAQ / How to handle the system prompt 'Not a table DBF'?
This issue can also occur during unexpected power outages, illegal shutdowns, or crashes. Only the database file itself is damaged, not the index file. Before we solve the problem, let's first take a look at the structure of a database file. Taking Issucard.dbf as an example.
When the library record is empty, its file header format is:
00000000h:03 00 07 19 00 00 00 00 A1 01 6F 00 00 00 00 00
When the library record is not empty and there is an error, the file header format is:
00000000h:03 00 07 1B 8D 2F 00 00 A1 01 6F 00 00 00 00 00
It is not difficult to see that, except for the underlined part that is the same but not empty, there are three bytes that are different. When we try to change any one of them, we will find a pattern: when the sixth byte is subtracted by 1 using hexadecimal algorithm, the database will lose one record; When the 6th byte is reduced to 00, then the 5th byte is reduced by 1 using the hexadecimal algorithm, resulting in one less record in the database; When the fourth byte is subtracted by 1 using the hexadecimal algorithm, the database loses 16 records. When changing the 4th byte to 8C in the database with the above error, the library file was restored to normal.
From this, it can be inferred that when the database is unexpectedly shut down before it can be properly closed, it is normal for the previous record to be saved. Therefore, we only need to subtract 1 from the 5th or 6th byte using the hexadecimal algorithm to recover the damaged database file.
The above figure is a schematic diagram of the correct library with two records in the issucard.dbf library. The meanings of each byte are dissected as follows: 00000000H00 (library flag), 00000000H01-03 (record last accessed year month day), 00000000H04-07 (number of records), 00000000H08-09 (record start bit '141'), 00000000H0a (single record length), 00000 20h0b-0c (field type and start bit), 00000 30h00 (field length), 00000 140h00 (record start flag '0D'), 00000 1c0H0a (record end bit), 00000 1c0H0b (record end flag '1A').). Number of records=(end of record - start of record)/length of a single record.
0745-2380548
market@hhjnc.com
Hongji Building Changshou Industrial Park Industrial Concentration Zone Mayang Miao Autonomous County Huaihua City Hunan Province