In my application, I do the following things:
- Open an access database (.mdb ) Jet / using ADO and VB6
- Clear a table with new data and fill it again
- Close the database
- Another process Start something which does something new with the data.
The problem is that sometimes another process can not be found new data Sometimes the table is simply empty, sometimes at RecordCount> 0, but EOF is true and I can not do a MoveFirst or MoveNext in a nutshell: All kinds of weird things.
My current solution is adding delays to shutting down the database and starting another process.
- What's going on here?
- Can I do something about it? (Other than using a different database)
Just an estimate, but I The fact is that a reading cache and laziness in the jet engine writes:
"Microsoft Jet has a reading-cache that sets each page time in milliseconds (default is 5000ms = 5 seconds ). It also has a lazy-writing mechanism that operates on a separate thread on main processing and thus changes the disc. These two mechanisms help in promoting the performance, but in some situations higher concomitry is required, they can create problems. "
Article refreshcash method of jet Use and suggest to set up the Jet OLEDB: 1 millisecond of transaction cut mode (one advantage for the ADO on Jet for Jet is that you can change this setting without changing the value in the registry. Change c).
PS You should consider editing Access Database (.mdb) to refer to 'jets' and to use the 'jets' tag, otherwise you will get a comment from a certain user Which is right about these things :)
Comments
Post a Comment