Results 1 to 37 of 37

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

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    I haven't touched my program for about a month, suddenly, I go to add the completed Help File to the program (which works fine at my college), but then when I get home, the program won't start. The following lines:

    VB Code:
    1. frmData.Connection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking_
    2. Mode=1;Data Source=" & Chr(34) & DBPath & Chr(34) & ";Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=" & Chr(34)_
    3. & "Microsoft.Jet.OLEDB.4.0" & Chr(34) & ";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended_
    4. Properties=;Mode=Share Deny None;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet_
    5. OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False"
    6.             frmData.Connection1.Open()

    result in the following error:

    {System.InvalidOperationException}
    [System.InvalidOperationException]: {System.InvalidOperationException}
    HelpLink: Nothing
    InnerException: {System.Data.OleDb.OleDbException}
    Message: "The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine."
    Source: "System.Data"
    StackTrace: " at System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr)
    at System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString constr)
    at System.Data.OleDb.OleDbConnection.Open()
    at Expenses_Program.frmMain.InitDatabase() in C:\Data\Adam\School Work\A2-Level\Computing\A2 Coursework\Expenses Program\frmMain.vb:line 198"
    TargetSite: {System.Reflection.RuntimeMethodInfo}


    I tried to reinstall Jet 4.0 SP8 - but it said I have a newer service pack than the one I was trying to install. Then I tried reinstalling Microsoft Office, which also did not help. Since I haven't touched my program except for this help file (which merely required the addition of the Microsoft Word 11.0 Object Library reference), I assume it's a problem with Office or Jet itself.

    Anyone got any ideas as to how to fix this problem?

  2. #2
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    try creating a new project, and add an oledbconnection object component to your form from the data tab in the toolbox.

    in the properties window, click the dropdown for the ConnectionString property and select <new connection...>

    When the data link properties come up, click on the first tab (provider) and select Jet 4.0 provider.. continue through the rest of the 4 tabs and see if you can establish a connection this way.

    This will at least help to narrow down your problem.

  3. #3
    "The" RedHeadedLefty
    Join Date
    Aug 2005
    Location
    College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
    Posts
    4,495

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

    This is a different system than what you programmed on, correct? I think the message is pretty clear. Just search for the Microsoft Jet drivers and install them, as this system seems to not have it?

    Check out this Microsoft KB Article for download info...
    http://support.microsoft.com/default.aspx/kb/239114?
    Last edited by gigemboy; Jan 27th, 2006 at 07:25 PM.

  4. #4

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    gigemboy, this is THE SAME SYSTEM that I wrote the program on. It already has Office 2003 and Jet 4.0 because when I try to install Jet 4.0 SP8, it says I already have a newer version (the Windows XP SP2 Version) - see my first post.

    kleinma, I tried that, but after adding the OLEDB Connection, when I choose "New Connection..." in the "Connection String" box, nothing happens. I'm sure the wizard is meant to come up from what I remember, but nothing happens at all.

    If I choose from an existing one, and then put "OELDBConnection1.Open" in the Form_Load subroutine, I get the same error message as before (Jet 4.0 not regsitered...).

    Any clues?

  5. #5

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    BUMP.

    Can anyone offer any suggestions?

  6. #6
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    Have you tried running office update to get the latest patches for office? Its worth a shot and not bad to do even if it doesn't fix the issue

  7. #7

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    Yes I have. No luck.

  8. #8
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    check this link.. it tells you how to tell which SP version of mdac is currently installed

    http://support.microsoft.com/kb/2391...23120121120120

  9. #9
    Frenzied Member
    Join Date
    Jul 2005
    Posts
    1,521

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

    Try downloading and updating the Microsoft Data Access Components Utility and then updating it.
    http://www.microsoft.com/downloads/d...DisplayLang=en

    http://www.microsoft.com/downloads/d...DisplayLang=en

  10. #10

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    kleinma, my MSJet40.dll version is 4.0.8618.0 - which is Windows XP SP2's correct version for Jet 4.0 SP8.

    mpdeglau, those links are not for Windows XP.

  11. #11

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    Bump. Any help appreciated people!

  12. #12
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    what version of MDAC do you have on there as well?

    in addition to the JET engine, you also need MDAC (Microsoft Data Access Components)

    MDAC used to come with JET drivers, but they stopped doing that, so you need to install them seperatly.

    I know you said your JET was up to date, so make sure MDAC is too
    http://www.microsoft.com/downloads/d...displaylang=en

    I don't know what else to tell you short of a full reinstall of the OS.

  13. #13

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    That link is just the Jet 4.0 SP8 download, which doesn't install because it's older than my current version. This is really weird...I really don't want to reinstall the OS, if anyone has any other ideas, I'm all ears.

  14. #14
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    sorry I meant this link
    http://www.microsoft.com/downloads/d...displaylang=en

    this also may come in handy (its an MDAC version checker utility)
    http://www.microsoft.com/downloads/d...displaylang=en

  15. #15

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    The first link won't install since it isn't compatible with my OS.

    The version checker says I have MDAC 2.8 SP1 for Windows XP SP2, and everything checks out!

    What else could it be though?!

  16. #16
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    I don't really know what else to tell you.. something sounds royaly screwed up.

    The ONLY other thing I can think for you to try.. (other than a full reinstall) is to see if you can maybe uninstall SP2 for XP, and then reinstall it?

    SP2 installs data access components.. and a reinstall of the service pack may overwrite any messed up files or registry entries.

  17. #17

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    I was going to reinstall SP2 originally, but it's a slipstreamed install

    I tried typing this in the Run box: "regsvr32 C:\WINDOWS\system32\msjetoledb40.dll" and I got this error message:

    DllRegisterServer in C:\WINDOWS\system32\msjetoledb40.dll failed.
    The return code was: 0x80004005



    So I was thinking maybe this file is corrupt? Is there anywhere that I can get a version of this file that I need (Jet 4.0 SP8) that is definately working? Perhaps someone can upload their version of this file if they know it is working and they have Windows XP SP2?

  18. #18
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    Just because you can't register it doesn't mean its bad. Its probably just not a COM dll...

    I would not think its a file problem... it sounds more like a registry problem

  19. #19
    "The" RedHeadedLefty
    Join Date
    Aug 2005
    Location
    College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
    Posts
    4,495

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

    I just tried registering the jet dll, and it was registered successfully. Try uninstalling and reinstalling jet (or replace the dll somehow), as that dll seems to be the problem (like it says on the original message )

  20. #20
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    ok I found out this information for you:

    windows XP SP2 contains a newer version of JET 4.0 than 4.0SP8 has.

    The change was to fix a hole that was a security risk in the JET engine.

    The change was released in a hotfix, and also was put into XPSP2.

    you can get the version of JET from XPSP2 here

    Now try to install that.. it should let you. If it gives you a message that its already installed, then run it again with a /uninstall command line param. (see pic)

    then once you have uninstalled it.. reboot and reinstall it.

    Let me know if that does anything for ya.
    Attached Images Attached Images  

  21. #21

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    I just tried registering the jet dll, and it was registered successfully. Try uninstalling and reinstalling jet (or replace the dll somehow), as that dll seems to be the problem (like it says on the original message )


    That's the whole problem though - it can't just be reinstalled. I tried downloading a version of the DLL that wouldn't register on the internet, but that didn't help either, so it can't just be that specific DLL.

    kleinma, thanks for the tip but it did not work. If I try to install it, I get the same message as before (a newer Service Pack was found on your system). When I tried the Uninstall parameter, it said "You cannot uninstall, since an unisntall for KB837001 has not been created."

  22. #22
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    what version of msjet40.dll is in your system32 directory?

  23. #23

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    4.0.8618.0

  24. #24
    "The" RedHeadedLefty
    Join Date
    Aug 2005
    Location
    College Station, TX Preferred Nickname: Gig Current Mood: Just Peachy Turnons: String Manipulation
    Posts
    4,495

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

    Can't be re-installed? (i would delete the dll altogether first)....

    http://support.microsoft.com/?kbid=829558

    NOTE!!!! IMPORTANT!!! On that page...
    You must install MDAC after Jet 4.0 Service Pack 8 so that the files are correctly registered.

  25. #25

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    No, because there is NO download for XP SP2's version of Jet 4.0 SP8, therefore there is NO way to reinstall it without reinstalling SP2 or XP without directly copying the files and registering them manually I guess.

    This applies to MDAC aswell - even if the files are removed from Sytem32, the install files still say that the version I have newer than the version I'm trying to install.

  26. #26
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    I don't know if this would work, but could you try to reinstall SP2 using this download?

    http://www.microsoft.com/downloads/d...displaylang=en

    I don't know if it will let you install over the existing XPSP2 install.. but it may

  27. #27

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    Nah it doesn't. It says "Access Denied" midway through the install (with no other info).

    I'm gonna try a repair install and then a full reinstall of XP if that doesn't work. Unfortunately I haven't got any backup HDD big enough to store my data so I can't reformat (which would be the best course of action IMO).

    I'll tell you if it works

  28. #28
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    what about trying it in safe mode? Im just throwing out ideas though

    well I would imagine you maybe have a DVD burner or at least a CD burner? you could at least backup a good amount of YOUR data (ie, non program files) and then just reinstall your apps.

    It sucks if it comes down to a reinstall, but sometimes that is what ends up happening...

  29. #29

    Thread Starter
    Addicted Member
    Join Date
    Nov 2005
    Posts
    183

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

    I tried to reinstall Windows XP on top of the current copy (to keep programs in tact) and it kept stopping at about 70% through the "Installing Devices" part (it wasn't frozes, per say,since the little green boxes in the bottom-right hand corner were still animated, but there was no HDD activity for like an hour). That install of XP must've had serious problems that I didn't know about...

    So, in the end I just took the HDD to another PC, deleted anything in the Program Files and Windows folders and only kept my Data folder in tact. I then did a completely new install of XP SP2 (slipstreamed again), and everything is working now.

    I forgot how fast XP is when it's fresh

    It's a shame we couldn't figure out what the problem was specifically, but it's fixed now. Thanks for all the advice/help!

  30. #30
    New Member
    Join Date
    Mar 2007
    Posts
    1

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

    I've suffering the exact same problem!

    As of yet, I haven't found a solution.

    However, for those of you out there who are like myself and DragonQ, you should give this a try. It didn't work for me, but it may work for you:

    http://www.screechmedia.com/abd/troubleshooting.asp

    Good luck!

  31. #31
    Hyperactive Member r0k3t's Avatar
    Join Date
    Dec 2005
    Location
    Cleveland
    Posts
    361

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

    Don't ask me why but I just ran into this problem. This is what I did...

    change
    vb Code:
    1. OleDbConnection MyConnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\Lib\DATABASE\db.mdb");
    to this
    vb Code:
    1. OleDbConnection MyConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\\Lib\\DATABASE\\db.mdb");

    works fine now

  32. #32
    New Member
    Join Date
    Nov 2007
    Posts
    1

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

    I've been getting the same error and have been trying to figure it out for the last few hours. I orginally wrote my app in VS.Net 2001 and moved to 2005. I just rewrote the line - exactly the same and it works. Know this sounds strange, the commented line below doesn't work but the one below does. I tried both several times and everytime the top (old) doesn't work and the new line does.


    String strDBPath = "";
    strDBPath = Server.MapPath(".//mydb.mdb");

    Old:
    //strProvider = "Provider=Mircosoft.Jet.OLEDB.4.0;Data Source=" + strDBPath + ";";

    New:
    strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDBPath + ";";

  33. #33
    New Member
    Join Date
    Dec 2009
    Posts
    1

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

    Hi,
    I am using Vista x64-based PC and got this error while it was working fine on the other PC with Vista x86-based PC.
    For this open Your Project Properties > Compile > Advanced Compiler Settings (button at the bottom).

    In the Advanced Compiler Settings dialog box change Target CPU: to x86. Save all your changes.
    This worked for me.
    Thank you

  34. #34
    I'm about to be a PowerPoster! kleinma's Avatar
    Join Date
    Nov 2001
    Location
    NJ - USA (Near NYC)
    Posts
    23,373

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

    That is because JET does not work on x64

  35. #35
    New Member
    Join Date
    May 2010
    Posts
    7

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

    I'm getting the 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine'
    Error message on Windows 7 64-Bit i have set my program to compile in 32Bit (x86), and if i run it through Visual Studio it works fine BUT, if i build the solution and try running it from the standalone executable it comes up with the above error, any ideas why this is happening?
    Thanks

    Peter

  36. #36
    New Member
    Join Date
    May 2010
    Posts
    13

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

    Quote Originally Posted by pedders View Post
    I'm getting the 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine'
    Error message on Windows 7 64-Bit i have set my program to compile in 32Bit (x86), and if i run it through Visual Studio it works fine BUT, if i build the solution and try running it from the standalone executable it comes up with the above error, any ideas why this is happening?
    Thanks

    Peter
    Set the platform target property to 'X86' for your VB or C# projects that have references to COM components.

    For C# Projects:
    1. Right click the project in the solution explorer and open 'properties'
    2. Choose the Build tab
    3. Set the Platform Target property to 'X86'

    For VB Projects:
    1. Right click the project in the solution explorer and open 'properties'
    2. Choose the Compile tab
    3. Press the Advanced Compile Options... button
    4. Set the Target CPU property to 'X86'

    Express Editions:
    The VB and C# Express products do not expose the Target property inside the development environment. You will need to carefully modify the project file using a text or XML editor.
    1. Close the project and/or solution
    2. Select Open File from the File menu
    3. Navigate to the project directory, and highlight the project file
    4. Press the Open button, the project file should open in the XML editor
    5. Locate the first <PropertyGroup> section and add the following line:
    <PlatformTarget>x86</PlatformTarget>
    1. Save the project file
    2. Reopen the project and/or solution using Open Project/Solution from the File menu
    3. Continue with development, debugging, and testing

    Alternatively, if the application is targeted to 64-bit platforms, you can ensure that the COM controls added to the application have 64-bit equivalents on the development and deployment computers.
    I thought I smelt petrol

    niki lauder 1976

  37. #37
    New Member
    Join Date
    Mar 2011
    Posts
    1

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

    use this connection string:

    connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;" + @"Data Source=" + excelFileName + ";Extended Properties=\"Excel 12.0;HDR=Yes\"";

    This will work for both .xls and .xlsx files.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width