-1

Using Oledb to connect to an MS Access DB.

I get the following error when the Open Function of the OleDbConnection class is called

"The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
Smitha
  • 1
  • 1
    There are tons of Google results for this: http://bit.ly/idlWdE What have you already tried? – Uwe Keim Jan 12 '11 at 05:57
  • 2
    In that case, it sounds like you should... register the `Microsoft.Jet.OLEDB.4.0` provider on your local machine. – Matt Ball Jan 12 '11 at 05:57
  • Are you using a 64-bit OS? If so, Jet won't work; see [here](http://social.technet.microsoft.com/Forums/en-US/w7itproappcompat/thread/14041b74-6ca6-49be-af90-d8ff3f962724); – Michael Todd Jan 12 '11 at 05:58
  • Or, he could download the 64-bit version of the ACE and install that. – David-W-Fenton Jan 13 '11 at 02:37

2 Answers2

1

I guess your OS 64-bit but Microsoft Jet does not support 64-bit. TO resolve this you need force your application to use the 32 bit change the target CPU to x86 in the advanced compiler options.

Please check out this link for more details.

user001
  • 444
  • 5
  • 10
  • If you mean Jet 4.0, then, no, it doesn't have a 64-bit version. But applications compiled for x86 can run on a 64-bit Windows and use 32-bit Jet. And the 64-bit ACE can provide access to Jet 4.0 data files (as well as ACE data files, i.e., ACCDBs). It's downloadable for free. – David-W-Fenton Jan 15 '11 at 03:31
0

I had this same problem occur all of a sudden and it wasn't a "Jet" problem as it previously worked, and then stopped working. As it turned out, the application pool that the site was running under had "Enable 32-bit applications" changed to "False". When I changed back to "True", the OleDb error went away.