Home:ALL Converter>MS Access MDB-File keeps becoming corrupted

MS Access MDB-File keeps becoming corrupted

Ask Time:2018-01-23T19:33:56         Author:Simon

Json Formatter

We got a problem with Microsoft Access .mdb-files. After some time working with an .mdb-file in a multiuser environment the file becomes corrupted and has to be repaired. After it's repaired it takes less time to become corrupted again. And at some point after multiple reperations the file isn't usable at all anymore.

This problem started to appear after we changed from MS Access Runtime 2010 to MS Access Runtime 2013.

I've already spent some time looking into this problem and this is my theory:

The mdb-file appearently contains a "Database Header Page" (described in a White Paper from Microsoft called "Understanding Microsoft Jet Locking" from 1996) which saves information about the commit bytes of Users (important: 0000 = writing to disk, 0100 = accessed a corrupted page). And there is a paragraph in the white paper about this Database Header Page which explains exactly what is happening in our problem:

"[...]Therefore, if a value of 00 00 is present without corresponding user lock [this would be an entry in the corresponding .ldb-file I think], or a value of 0100 is present, users will not be allowed to connect to the database without first executing the repair utility."

So my guess is, that after some amount of loosing connection to the mdb/breaking the connection this Database Header Page overflows and you have to repair the file but the repair doesn't remove every entry inside of this Database Header Page, so the amount of broken connections needed for the file to become corrupted decreases until the file completely breaks.

Now I would like to know if this theory is any good and if it is I would like to know:

  1. How can I test this theory (how can I read this Database Header Page of the mdb-file)?

  2. Can I modify the Database Header Page?

  3. Can I modify the Database Header Page while someone is working with the mdb?

I know it's a very specific problem but I hope you guys can help me!

P.S. I can't find a link to the white paper but the "LDBViewer"-packet contains this white paper.

Author:Simon,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/48400743/ms-access-mdb-file-keeps-becoming-corrupted
yy