Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Mysterious Report Lockup Problem
Message
From
02/06/2010 15:59:01
 
 
To
02/06/2010 14:52:38
General information
Forum:
Visual FoxPro
Category:
FoxPro 2.x
Environment versions
Visual FoxPro:
FoxPro Windows
OS:
Windows 7
Miscellaneous
Thread ID:
01466405
Message ID:
01467105
Views:
36
>Al,
>
>Thank you and yes we tried the indexes. We actually deleted all the index files and had them rebuilt from scratch. This did not fix the issue.
>
>What is really disturbing to me is that the issue just seemed to resolve itself. There are no offending characters seen in the records in question, and we always have set deleted to on when running the application.
>
>It's a real mystery I would like to solve.

I assume you had DELETED set to OFF when examining the records in question, as deleted records can cause problems even if DELETED is ON in your app.

If you have a significant number of deleted records, one quick test you could do:

- back up the table(s)
- PACK them to permanently remove the deleted records
- see if the problem recurs

This would tell you if it's an issue with one or more deleted records.

If that doesn't help, you may still have a problem with bad characters, which you were not able to spot visually. Assuming you've identified the set of potential problem records, it may not take too long to figure out which one(s) are bad. You can use a binary-style method of elimination:

- suppose you have 100 potential records
- DELETE 50 of them, and PACK the table to permanently remove them
- test. If it passes, the bad records are amongst those you deleted. Otherwise, they are in the remaining 50.
- with the set of 50 that contain the problem, split that into 25 and repeat as above.

The PACK operation may also help, if there's a problem with the DBF table header - in effect, PACK creates a new table with the same structure, then copies the non-deleted records from the old into the new.

You can also explicitly try creating a new table with the same structure as the old, and using APPEND FROM to pull the old records into your new table. Unlike with PACK, you can do this with or without the deleted records.

Yet another thing you can try, if you have access to VFP9, is to simply open the table in VFP9. VFP9 has a TABLEVALIDATE function built-in which by default does some basic error checking of tables as they are opened.
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Previous
Reply
Map
View

Click here to load this message in the networking platform