Windows 2008: The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine.

Tuesday, October 28, 2008

TechnologyThere are times when the coexistence of 64 and 32 bit code on the same machine can cause all sorts of seemingly strange issues.
One of them just occurred to me while trying to run the ASPx demos from Developer Express, my main provider of .Net components (the best supplier I’ve ever been able to find).
I was getting the following error:

The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine:

Server Error

It may look otherwise, but this error is generally due to either of two thing:

  • you don’t have Office 2007 Jet drivers installed
  • or you are running a 32 bit application in a default x64 environment.

The first issue is easy to solve, just download the 2007 Office System Driver from Microsoft.

For the second one, the fix under Windows Server 2008 is easy enough:
Navigate to Server Manager > Roles > Web Server (IIS) > Internet Information Services (IIS) Manager, then look under your machine name > Application Pool.

Under there you can call the DefaultAppPool’s advanced settings to change Enable 32-Bits Applications to True:

Advanced Settings

You may have to restart the service for it to take effect but it should work.

References

Updates

  • 12FEB2009: Added reference to Scott’s article.
  • 28OCT2008: Original version
Bookmark and Share

Entry Filed under  :  .Net, Database, Programming, Web, sysadmin

30 Comments Add your own

  • 1. finklad  |  November 14th, 2008 at 6:02 am

    Bingo

    Thnka god someone knows what they’re talking about.

    Additionaly, you will have to set the folder permissions to allow iis_iusrs to connect to the databse from a client pc

  • 2. Abhishek Browne  |  November 22nd, 2008 at 3:18 pm

    I am using Vista 64 bit. Second soln. worked for me

  • 3. Paul  |  December 4th, 2008 at 7:55 pm

    Can you tell me how to navigate to those screens to set the Enable 32-Bits Applications to True on a windows Vista OS?

  • 4. Renaud  |  December 8th, 2008 at 3:02 pm

    @Paul: you should be able to access IIS configuration settings by right-clicking on My Computer and choosing Manage to open the Computer Management console.

    From there, IIS settings are accessible under the Services and Applications tree.

  • 5. leftix  |  January 7th, 2009 at 11:56 pm

    thx a lot, search is over now ;)

  • 6. mike25x  |  January 17th, 2009 at 5:53 am

    thanks… save a lot of time

  • 7. Doug  |  February 28th, 2009 at 12:27 am

    Thanks… this worked like a charm

  • 8. Cosmin  |  March 3rd, 2009 at 11:34 pm

    you are good, mate

  • 9. TheArtTrooper  |  March 9th, 2009 at 4:52 am

    One issue with this is that you lock IIS into running only 32-bit code.

  • 10. Renaud  |  March 9th, 2009 at 10:03 am

    @TheArtTrooper: true, but I don’t think you can have it both ways: if you need Jet, you’re stuck with 32 bits.

  • 11. Sean  |  March 17th, 2009 at 1:17 am

    2 questions: 1. I have Vista 64bit and found Services and Applications tree but still don’t understand where to enable 32 bit.

    1. Also, I need to run my 64 bit platform (Mplus 5.2 stat software) immediately after using this 32 bit application. Will I run into problems?

    And does anyone out there have issues with N2MPlus (the program that supposedly converts .xls (Excel) and .sav (SPSS) files to MPlus??? I wish this damn thing would work!

  • 12. Sean  |  March 17th, 2009 at 2:34 am

    The reason I could not see where to change the iis setting was because iis was not installed. I went to control panel>programs>turn win programs on or off> iis (check on)… but then I enabled “True” as stated above in the advanced settings, and reset the computer, and it STILL doesn’t work.

    Any suggestions? I saw something about resetting the jet database via run>cmd and then going to the .NET directory and putting in 3 commands for uninstalling, reinstalling, etc… but I don’t have any idea what this fix is for exactly.

  • 13. Will  |  May 18th, 2009 at 11:34 pm

    Thanks a lot for this tips. All is OK now.

  • 14. Giorgio  |  June 22nd, 2009 at 10:06 pm

    I was signing a $$$ budget to convert all of our web-Access applications to web-SqlServer applications… You saved my boss many $$$

    :-)

  • 15. Renaud  |  June 23rd, 2009 at 9:50 am

    @Giorgio: glad the tip saved you money!

  • 16. Anonymous  |  July 9th, 2009 at 12:20 pm

    thank you so much for help :) , i was really stuck and then find your blog

  • 17. Clytie  |  August 27th, 2009 at 3:32 pm

    Thank you very much ~O(∩_∩)O~

  • 18. Elaine  |  August 28th, 2009 at 11:43 pm

    I wish I had the same luck but I still got the same error after applying the second solution…

  • 19. Luis  |  September 1st, 2009 at 12:17 am

    Thanks, other sites have mentioned that you need to install access components, but I have been going crazy for days because they didn’t add that you had to fken make changes to the iis and change the application pool to “true” so that it will accept 32 bit applications. And on top of that SQL server Express had other issues. I was about to give up on it all. Many, many and many thanks

  • 20. James Byrd  |  November 2nd, 2009 at 9:46 pm

    Thanks for posting this info. It helped, but installing the Office 2007 components did not solve the Jet OLEDB problem for me. I see the Jet components in the SysWOW64 folder, and I see them listed in the registry, but the provider still doesn’t work.

    A trick I’ve learned for setting up connection strings is to create an empty file with a UDL extension and double-click on it. That brings up the Data Link dialog, which is like a wizard for building connection strings. Anyway, it lists all of the OLEDB providers on the first tab, and the Jet provider is still not in the list. After loading the office components, I see a few providers that were not listed before, but Jet is not one of them.

    Any thoughts?

  • 21. Rik Brown  |  December 5th, 2009 at 9:03 pm

    Brilliant -- thanks a lot for that tip. Enabling 32-bit applications solved it for me.

  • 22. gbox  |  December 21st, 2009 at 12:36 pm

    it ’s cool,thank you.

  • 23. dazza  |  January 13th, 2010 at 7:18 pm

    hi all is there a 64 bit version of the jet dll’s? I have a dependancy to keep the application pool in 64 bit mode, so the setting in my app pool has to remain false for 32 bit apps. but that breaks the jet dll. anyone know if it exists? thanks

  • 24. James Byrd  |  January 13th, 2010 at 9:43 pm

    dazza:

    According to Microsoft, Jet OLEDB has been obsolete since about 2005. They do not have a 64-bit version of the OLEDB drivers and have no plans to release them. Jet OLEDB is dead, and the customer be damned.

    Your only options are to switch to a different access method or switch databases. Yes, this was really bad news for me too.

    James

  • 25. Ashok  |  January 19th, 2010 at 4:56 pm

    Thanks a lot, it saved me a day.

  • 26. Roger  |  January 22nd, 2010 at 1:52 am

    Great tip. Thanks.

  • 27. Quintin  |  February 1st, 2010 at 6:37 pm

    Excellent, great help. Thanks! This worked for me, both the install and the x64 tip were required.

  • 28. Lav G  |  February 2nd, 2010 at 6:54 pm

    What if the application is not web hosted. I am using a console tool which uses Excel to import/export settings. It is not working on 64 bit Windows Server 2008 . Any thoughts ??

  • 29. Hendra  |  February 25th, 2010 at 5:34 pm

    I gotta say thanks to your solution. Thanks very much. The second solution works for me.

  • 30. Spag  |  March 4th, 2010 at 12:48 pm

    OMG I love you, if I was a girl I would have your babies.

Leave a Comment

(Will not be shown)
Notify me of follow-up comments via e-mail

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


about

This is a simple technical weblog where I dump thoughts and experiences from my computer-related world.
It is mostly focused on software development but I also have wider interests and dabble in architecture, business and system administration.
More About me…

my Twitter

my StackOverflow Profile
My StackOVerflow profile

Most Recent Posts

Categories

Links