I looked around on the internet a little and discovered that Office 2007 no longer uses JET, but instead uses ACE for its dbs. And not only that, but if you have an Office 2007 database it's not backwards compatible and cannot be opened using JET. So, I am betting on that being my issue. It's trying to use JET to open what is now an ACE db. My problem is that I don't know how to change the configuration now. Is there a different provider I need to be using? The trick is that I won't know ahead of time whether a user will have JET or ACE and it may change since they may upgrade one day. Is there some way I can make the BO work for both engines?? Please advise, I'm a little lost on this one. Thanks.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
And if you've set the password on your accdb file, you'll need to use the connection string like this:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:database Password=MyDbPassword;
Once you change the conn string, everything will be just plain OLE DB, so the BOMapper and your app should work like normal (unless Microsoft decided to change the way that the GetSchema() returns for Access 2007...).