Link to home
Start Free TrialLog in
Avatar of jhance
jhance

asked on

"Unable to initialize DAO/Jet db engine" error from CDaoDatabase() class

Not sure if this is an ACCESS question or a programming question but I'll start here...

I have a MS Access database, db.mdb, that is accessed by a C++/MFC program using the CDaoDatabase class as such:

      CDaoDatabase *pDatabase = new CDaoDatabase();
      pDatabase->Open("C:\\<some_path_to_the_folder>\\db.mdb");

      CDaoRecordset rs(pDatabase);

It's worked fine for months, perhaps years.  But today it's started reporting a dialog that says:

"Unable to initialize DAO/Jet db engine"

when the line:

      pDatabase->Open("C:\\<some_path_to_the_folder>\\db.mdb");

is executed.  Not sure what's going on or what has changed but I'm baffled.  As far as I can tell, Access itself runs normally on this database.  So I suspect it's some issue with DAO but I'm not sure how to fix it.

This is running on XP SP2 and I tried to install the MDAC 2.8 SP1 but get an error that says:

"This setup does not support installing on this operating system"

Ok, I think that because XP SP2 INCLUDES MDAC 2.8 and will not install again.  I did try installing MDAC 2.7 but that didn't seem to make any difference.
Avatar of stevbe
stevbe

is it only on one machine?
if so I think we can find the list of files you may need to unregister / re-register.

Steve
DAO is part of the Jet engine not the MDAC since about MDAC 2.5
Avatar of jhance

ASKER

This is a one-off application.  So yes, it's only on one machine.


jimpen,

Ok, so DAO is a part of the Jet engine.  Any suggestions on how to fix this?
right ... dao is part of the OS and not MDAC so it could have been installing XP SP2

this KB talks about 95 but I think the register part still applies
http://support.microsoft.com/kb/q177264/

Regsvr32.exe C:\progra~1\common~1\micros~1\dao\dao360.dll
Avatar of jhance

ASKER

jimpen,

When installing the KB you suggested I get:

KB829558 Setup Error

Setup has detected that the Service Pack version of this system
is never than the update you are applying.

There is no need to install this update.
Avatar of jhance

ASKER

stevbe,

I did:

Regsvr32.exe C:\progra~1\common~1\micros~1\dao\dao350.dll

on my system and got the message that it was successfully registered.  Unfortunately, the problem remains.
Ok.  Then follow stevbe's suggestion for the regsvr32.
Does C++ have its own DAO dll of some sort?
Avatar of jhance

ASKER

I don't know, if there is, it's not obvious.
ASKER CERTIFIED SOLUTION
Avatar of stevbe
stevbe

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
should be in ...

C:\Program Files\Common Files\Microsoft Shared\DAO
Avatar of jhance

ASKER

That did it...  Thanks!@!