Matt, no chains yanked.
Your arguments
are justified, as you have already experienced.
I just want to explained it the way I see it. And I like to defend Jet to a certin point of usage - it is a very good tool when used the right way and for the right environment and under the right conditions.
Sure, some of my comments were based on your comments, but I have encountered just the same problems(corrupted MDB) in the past as well - and many can be prevented. And just feel I have been through them all (there just
can't be any more
p l e a s e).
I am not focused on just one database type, and do not always shun away and tell clients that it has to SQL Server and nothing else (even though it would be nice). It depends on many factors, and the customer has to identify the goals, and budget for the project. I can give the options based on that along with the up/down-sides - and what can get achieved by going a different route. If it means using an MDB in a multi-user environment, then alright - let's try to pull out of it what can be gotten (even though I do set a fair limit of a 5-user-access at the same time, and up to 500 mb of data - which means as one factor increases, the other one has to be reduced). That means alot of testing in different enviroments, under all sorts of options, settings and situations. The problem may not be the tool, but the way it's being used. You can create large problems, by just writing an SQL SELECT statement the wrong way - and this is
very often done.
Mostly the problem was with:
1. The application not closing down properly (not only internal to the app. but also via Task Manager);
2. The system not shutting down properly (system crash or user fault);
3. The server going down;
4. Certain read/write cache that a server uses on files, or the locks imposed.
5. Certain bugs in certain versions of DAO, Jet, or MDAC(such as corruption caused by cursors), that have beed mostly corrected.
These situations may cause Jet from closing the db correctly - causing a corruption.
You are right about MSDE - not a bad choice at all if the amount of data doesn't go below 2Gb - especially when there is the possibily of upgrading. However, there may be more work envolved, esp. when distributing to many clients with different systems, in order to get things up and running correctly.
For the questioner: you can see a comparison between Jet and MSDE at these links:
I just feel that the more info a person has, the better they can make a decision. That is why we discuss these things.