We have just installed the Microsoft Windows Security Update (KB950749) for Windows XP and several of our Microsoft 2000 databases are coming up with the following error message when we try to open a table:
Cannot open database “name of database”. It may not be a database that your application recognises, or the file may be corrupt.
It is really strange, because it only happens when you try and open one table in the database and it happens to all versions of this database, even those that haven’t been touched for months. We know it is to do with the security update, because the same database table opens up fine on computers that haven’t had the security update installed.
I know how to go about repairing the databases by exporting and re-importing the information into a new table, but we are just curious about what was actually affected by the security update to cause this error. Any theories would be greatly appreciated.
It seems this update causes a problem sometimes with DAO. Possibly also access may think the target table has been opened exclusively - rebooting usually fixes this. Have you installed Jet 4.0 Service Pack 8 (SP8): if you have not it may be worth trying:
We have a lot of legacy c++ code that uses DAO, and the update broke a lot of our code. We’ve found that the CreateField method no longer seems to work when called from c++. I didn’t have the same issue with VBA in an Access module, but that code works through a different interface than the c++ code.
KB 950749 Contains A New Version Of Jet, Which Is The Database Engine For Access. This New Version Of Jet Handles And Detects Corruption A Bit Differently Than Previous Versions. So I Just Run A compact And Repair On The Backend File Which Removed The Corrupted Records And After That I Was Able To Run My Queries Successfully.