From: <br...@br...> - 2004-04-30 00:08:49
|
Hi, There is indeed a "deletion flag" for rows in an MDB database. However, we've always approached it from the opposite end of trying not to read them. I'd be curious to see how this works out, I don't quite fully understand the process by which Jet deletes rows, I just know how to deal with them once they are there. You may try this: bring down the source code for mdbtools. in the file src/libmdb/mem.c find the function mdb_alloc_tabledef() after the memset add: table->noskip_del = 1; now, you'll also need to turn on the old brute force reads, define the variable SLOW_READ export CFLAGS="-D SLOW_READ" ./configure make now you should have a copy of mdbtools that will read any page that appears to be owned by the table and will read deleted rows on those pages. Good Luck, Brian On Thu, 29 Apr 2004 16:38:20 +1000, Michael Bryce wrote: > > Hi people! I am a little off topic here so apologies in advance, but > this list seems to be the only place I can find people who understand > the inside of an mdb file. > My problem: > I have a client who is running an application with data in a couple of > mdb files. A great many patient result records have inadvertently been > deleted (due to a cascade delete setting in the relationship between > tables I think). Is there a way for me to use mdb tools (or anything > else you know of) to undelete records? > I think I remember someone here saying that records are not actually > deleted, but only marked as such. If that is so, is this reversible? > Can > I just somehow unmark them or are there other complications? I am > willing to export them all to text and find some other way to import > them back in again if there are index issues or other such side effect > from a delete. Perhaps I could export all deleted records in a given > table to a text file and fix them there? > Any help greatly appreciated because they don't have a backup! > (Complicated and sad, sad story.) > -- > > Have a Nice Day! > Mike > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > _______________________________________________ > mdbtools-dev mailing list > mdb...@li... > https://lists.sourceforge.net/lists/listinfo/mdbtools-dev |