🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.databases.xbase.misc
Article #9

xbase file integrity checker/fixer

#9
From: Tom Metro
Date: Thu, 22 Jun 1995 00:00
49 lines
3070 bytes
I'm looking for a utility that can scan an xbase file (dBASE IV) to find
corrupt records and offer to correct the database. Ideally something that 
is fairly automated so that it can be ran by inexperienced users, but 
I'll take pointers to anything. The platform can be either Windows or DOS.
I've looked through the cica and SimTel (both DOS and Win3) collections 
and couldn't find anything. I seem to recall from years ago that either 
Norton Utilities or PC Tools used to have some db tools, but I don't know 
if they still do.

And just as a point of interest, the reason why I need this tool is to 
correct for database corruption caused by a system crash. I have an 
application developed in Visual Basic that uses Q+E Software's (formerly 
Pioneer) Q+E/VB database VBX (the project was created before VB 3.0, with 
its built-in db support, was released). The slightest bit of database 
corruption (i.e. something that causes a date field to no longer look 
like a date) will cause Q+E/VB to return an error and give up on the 
current operation, so I can't modify my application to handle the 
corruption in a more graceful way.

I have my doubts about Q+E/VB's robustness. The database files can be
corrupted even when it is not performing active database I/O. Simply a
system reset before the databases have been closed can be a problem. I have
SmartDrive's write caching turned off on the systems running the
application, but it appears that Q+E/VB is caching some of the data
itself.

I currently accomplish "fixing" a database file by loading it into the Q+E
database editor (bundled with Excel), resaving the file, and rebuilding
the index.  Sometimes that isn't sufficient as the Q+E database editor
will read/write invalid date (and other) formats, while my application
can't, so I have to hunt down records containing the garbage and manually
delete them. Possibly I could write my own fixup utility in VB 3.0, but I
suspect its db interface is not low level enough to allow dealing with
corrupt records, as is the case with Q+E/VB. 

Hopefully the application will be rewritten using VB 3.0 database support,
or better yet, in Delphi. In the mean time, I need something to clean up
the mess after a system crash. 

Follow-ups directed to me via email. Write if you want me to post a
summary. 

Thanks,
 -Tom

-- 
Tom Metro                                         tmetro@lynx.neu.edu
Venture Logic                                     tmetro@vl.com
Newton, MA, USA
Technical Details
Message-ID: <3sb0t9$s39@lynx.dac.neu.edu>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 116288,c537dbf5541d6085,start
X-Google-Attributes: gid116288,public
X-Google-Thread: 100e8a,c537dbf5541d6085,start
X-Google-Attributes: gid100e8a,public
From: tmetro@lynx.dac.neu.edu (Tom Metro)
Subject: xbase file integrity checker/fixer
Date: 1995/06/22
Message-ID: <3sb0t9$s39@lynx.dac.neu.edu>
X-Deja-AN: 104888710
organization: Venture Logic, Newton, MA, USA
followup-to: poster
reply-to: tmetro@vl.com
newsgroups: comp.databases.xbase.misc,bit.listserv.dbase-l