Microsoft Jet Oledb 40 Download

From Microsoft:
The Jet35sp3.exe file contains an update of several DLL files that are included with Microsoft Access 97, Microsoft Office 97 Professional Edition, Microsoft Visual Basic (version 5.0 or later), and other products that incorporate Jet 3.5x. Microsoft Jet database engine version 3.51 provides an improved Compact utility that combines Compact and Repair into a single process. Also, the updated version of the Jet database engine generates an error if it encounters a problem during the Compact process, and then creates the table, MSysCompactError, in the destination database.

The issue we are having is with the Microsoft.Jet.OLEDB.4.0 driver. Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. I applied the answer by neo but it did not work until I change the provider to “Provider=Microsoft.ACE.OLEDB.12.0;” in connection string. Hope this will help if some one face the same issue. Hi Cheng Bao, 1. Check if ODBC Data Provides exists for the Excel Files. Go To Control Panel > Administrative Tools > ODBC Data Sources. One of the reason could be that you haven't added excel data sources Under USER DSN. Mar 14, 2012  But currently the Microsoft.Jet.OLEDB.4.0 is not supported for the 64 bit OS. The topic titled Deprecated MDAC/WDAC Components in the below given link describes about this issue. It also suggests using a new driver ( 2007 Office System Driver ) as a replacement to the current JET driver.

What do you need to know about free software?

I created a windows application developed in .NET 3.5 in a 32 bit Windows 2008 server. When deployed the application in a 64 bit server it shows the error 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine '.

So as a solution to this issue, i have changed the build property of the project to X86, so that it will build in 32 bit mode, and rebuild the project in the 32bit machine. But, the same project uses other DB drivers (DB2, SQL etc.) to connect to other databases. So when i deployed my app again in the 64 bit OS, it throws the exception ' Attempted to load a 64-bit assembly on a 32-bit platform. '

I am using the Microsoft.Jet.OLEDB.4.0 driver to read and write to the Excel (.xls)

skolima
20.7k22 gold badges101 silver badges137 bronze badges
neoneo
4,0646 gold badges17 silver badges26 bronze badges

21 Answers

Microsoft jet oledb 4.0 download office 2007

I found a solution for this problem. The issue I described in my question occured basically due to the incompatibility of the Microsoft.Jet.OLEDB.4.0 driver in 64 bit OS.

So if we are using Microsoft.Jet.OLEDB.4.0 driver in a 64 bit server, we have to force our application to build in in 32 bit mode (This is the answer I found when I did an extensive search for this known issue) and that causes other part of my code to break.

Fortunately, now Microsoft has released a 64 bit compatible 2010 Office System Driver which can be used as replacement for the traditional Microsoft.Jet.OLEDB.4.0 driver. It works both in 32 bit as well as 64 bit servers. I have used it for Excel file manipulation and it worked fine for me in both the environments. But this driver is in BETA.

You can download this driver from Microsoft Access Database Engine 2010 Redistributable

Justin Dearing
8,12017 gold badges68 silver badges134 bronze badges
neoneo
4,0646 gold badges17 silver badges26 bronze badges

If the issue persist in ASP.NET,All I had to do was change the 'Enable 32-bit Applications' setting to True, in the Advanced Settings for the Application Pool.

Jason WickerJason Wicker
2,8202 gold badges20 silver badges29 bronze badges

I have the same problem

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

I applied the answer by neo but it did not work until I change the provider to “Provider=Microsoft.ACE.OLEDB.12.0;” in connection string.

Fredo santana funeral. Hope this will help if some one face the same issue.

shA.t
13.3k4 gold badges39 silver badges75 bronze badges
IqbalIqbal

I know it's quite old questions and many persons has answered. but I am summarizing the things for understanding:

If the file extension is xls and OS is 32 bit then only you can use 'Microsoft.Jet.OLEDB.4.0'. Microsoft has not released 64 bit version of this driver.

If file extension is xlsx or OS is 64 bit then you must have to use 'Microsoft.ACE.OLEDB.12.0'. The application compiled in 32/64 bit mode does not impact the selection of driver.

Always install the 64 bit driver of Microsoft.ACE.OLEDB.12.0 on OS 64 bit. If you have already installed Office 32 bit then you need to run driver from cmd with /passive argument. This hack works till Office 2013 only, Microsoft stopped this workaround from Office 2016 for Microsoft.ACE.OLEDB.16.0 drivers.

If Application is compiled with AnyCPU flag, it will look for 64 bit Access drivers on 64 bit OS and 32 bit access drivers on 32 bit OS.

Romil Kumar JainRomil Kumar Jain
16.6k7 gold badges43 silver badges81 bronze badges

I've the same message, I have a webpage with do on visual studio 2010, I read a file.xls on that page,in my project visual has not any problem, when I put it on my IIS local throw me a 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine',I fixed that problem next following this steps,

Tamil hd movies free download. 1.-Open IIS
2.-Change the appPool on Advanced Settings
3.-true to enable to 32-bit application.
and that's all

ps.I changed Configuration Manager to X86 on Active Solution Platform

leoleo

If your application runs on localIIS, You can solve this problem by enabling 32-bit applications in AppPool's Advanced Settings

Mumin KaMumin Ka

I had the same issue. I changed the application configuration to x86, then it worked!

KakopappaKakopappa

I just Changed my Property of project into x64 format

Project---> Properties--->Build--->Target Framework---> X64

Muhamed ShafeeqMuhamed Shafeeq
8891 gold badge8 silver badges15 bronze badges

We have come across this issue in desktop app.

Dev Environment:Windows 7 Ultimate - 64 bit.Net Framework 4.5Provider=Microsoft.Jet.OLEDB.4.0

It has been resolved by changing Platform target to X86 from Any CPU.Project Properties >> Build >> Platform Target.

TechvalensTechvalens

I ran into this issue with my desktop application ('Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine). I did not have the option to build as a 32 bit app. Hoping this would help others in the same situation.

I did the following and the issue went away:

  1. Installed the 64 bit version of Microsoft Access Database Engine2010 Redistributable, as suggested by neo

  2. Changed my provider to Microsoft.ACE.OLEDB.12.0

robinhood9robinhood9

Microsoft Jet Oledb 40 Download 2016

Although a more optimal solution is to simply recompile as suggested above, that requires access to the source code. In my case, I only had the finished .exe and had to use this solution. It uses CorFlags.exe from the .Net SDK to change the loading characteristics of the application.

  1. Download the .Net Framework SDK (I personally used 3.5, but the version used should be at or above the required .Net for your application.
  2. When installing, all you need is CorLibs.exe, so just check Windows Development Tools.
  3. After installation, find your CorFlags.exe. For my install of the .Net Framework 3.5 SDK, it was at C:Program FilesMicrosoft SDKsWindowsv7.0Bin.
  4. Open a command prompt and type path/to/CorFlags.exe path/to/your/exeFile.exe /32Bit+.

You're done! This sets the starting flags for your program so that it starts in 32 bit WOW64 mode, and can therefore access microsoft.jet.oledb.4.0.

CullubCullub
1,8401 gold badge20 silver badges34 bronze badges

Change in IIS Settings application pool advanced settings.Enable 32 bit application

Microsoft Jet Oledb Download

dpsrikanthdpsrikanth

Just Change the property based on your machine and all have done :-)

Project---> Properties--->Build--->Target Framework---> X64

or

Project---> Properties--->Build--->Target Framework---> X86

AjmalAjmal

I have changed my connection string from

var myConnectionString = string.Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Persist Security Info=True;Jet OLEDB:Database Password=;',gisdbPath);

to this:

var myConnectionString = string.Format('Provider=Microsoft.Jet.OLEDB.4.0;Mode=Share Deny None;Data Source={0};user id=Admin;password=;', gisdbPath);

It works fro me never asked for Microsoft.Jet.OLEDB.4.0'registered.

Dilhan RKDilhan RK

There is indeed no 64 bit version of Jet - and no plans (apparently) to produce one.

You might be able to use the ACE 64 bit driver: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

  • but I have no idea how that would work if you need to go back to Jet for your 32 bit apps.

However, you may be able to switch the project to 32bit in the Express version (I haven't tried and don't have 2008 installed in any flavour anymore)

  • there is a thread here that talks about it: http://xboxforums.create.msdn.com/forums/t/4377.aspx#22601

Maybe it's time to scrap Access databases altogether, bite the bullet and go for SQL server instead?

Anant DabhiAnant Dabhi

Microsoft Jet Oledb 4 Download

11k4 gold badges30 silver badges52 bronze badges

I'm using VS2013 for Winforms, the below solution worked for me.

  • Download : http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

  • Then Set VS Target Platform to x86.

A GhazalA Ghazal

In older versions of IIS, you will not find Advance Settings so to enable Enable 32-bit Applications you have to execute the following commands:

cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

and

%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i

Reference : Here

Usman KhalidUsman Khalid
1,9137 gold badges30 silver badges60 bronze badges

I was getting same exception while running 'SQL Server 2014 Import and Export Data (64-bit)' on my Windows 8.1.

To fix the issue this issue I have done the following

started SQL Server 2014 Import and Export Data (32-bit) instead of 64-bit and it is working for me. I haven't changed any IIS setting and not installed any extra software.

Banketeshvar NarayanBanketeshvar Narayan
2,1783 gold badges27 silver badges37 bronze badges

I know that I have this problem over and over when I deploy my application on a new server because I'm using this driver to connect to a Excel file. So here it is what I'm doing lately.

There's a Windows Server 2008 R2, I install the Access drivers for a x64 bit machine and I get rid of this message, which makes me very happy just to bump into another.

This one here below works splendidly on my dev machine but on server gives me an error even after installing the latest ODBC drivers, which I think this is the problem, but this is how I solved it.

I replace with the new provider like this below:

But as I do this, there's one thing you should notice. Using the .xlsx file extension and Excel version is 12.0.

After I get into this error message Error: 'Could Not Find Installable ISAM', I decide to change the things a little bit like below:

and yes, I'm done with that nasty thing, but here I got another message The Microsoft Access database engine cannot open or write to the file 'time_zone'. It is already opened exclusively by another user, or you need permission to view and write its data. which tells me I'm not far away from solving it.

Maybe there's another process that opened the file meanwhile and all that I have to do is a restart and all will take start smoothly running as expected.

NickNick

go to Start->Run and type cmdthis starts the Command Prompt(also available from Start->Programs->Accessories->Command Prompt)

type cd . and press returntype cd . and press return again (keep doing this until the prompt shows :> )

now you need to go to a special folder which might be c:windowssystem32 or it might be c:winntsystem32 or it might be c:windowssysWOW64try typing each of these egcd c:windowssysWOW64(if it says The system cannot find the path specified, try the next one)cd c:windowssystem32cd c:winntsystem32when one of those doesn't cause an error, stop, you've found the correct folder.

now you need to register the OLE DB 4.0 DLLs by typing these commands and pressing return after each

regsvr32 Msjetoledb40.dllregsvr32 Msjet40.dllregsvr32 Mswstr10.dllregsvr32 Msjter40.dllregsvr32 Msjint40.dll

user1089766user1089766

There isn't a 64 bit provider for Jet. If you want to support multiple DB sources including Jet to Excel you will need at least that part of your application to run in a 32 bit process.

The error you are getting when you compile for x86 is a bit strange. I can't see how you would end up referencing 64 bit assemblies in this case.

AnthonyWJonesAnthonyWJones
166k29 gold badges220 silver badges291 bronze badges

protected by CommunityJan 13 '15 at 2:55

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Microsoft Jet Oledb Driver

Not the answer you're looking for? Browse other questions tagged c#.netoledb32bit-64bitjet or ask your own question.