I’ve been working on a fairly large C++ project that surprisingly uses MS Access 97 as it’s underlying database engine. I notice a lot of instances in the code where recordsets are being created from queries that could potentially return well over 100,000 records.
I’m curious if ADO will pull all that data into memory when you build the recordset, or if it is smarter and is able to only load the data “just in time” when you attempt to read it out of the recordset? We’re getting a lot of performance complaints from customers and this looks suspiciously guilty to me.
(Migrating to a newer database engine is on our roadmap. Trust me, no one on the team is happy with Access)
There are several problems with using Access for the database here:
and 20 is the maximum number, with fewer connections as the database
size/complexity increases.
you’ll just have to accept them 🙂