Microsoft.jet.oledb.4.0 Drivers For Mac

We have had a number of people ask about how they can get the Jet ODBC driver/OLE DB Provider as 64 bit. Windows only ships the 32 bit versions of these. The answer is that the windows versions won’t be x64 as those items are deprecated. What does deprecated mean? Here is the excerpt from the MDAC/WDAC Roadmap on MSDN:

Deprecated MDAC/WDAC Components

These components are still supported in the current release of MDAC/WDAC, but they might be removed in future releases. Microsoft recommends, when you develop new applications, that you avoid using these components. Additionally, when you upgrade or modify existing applications, remove any dependency on these components.

I have an application running in windows vista, when I install on my new laptop in windows 7 appear the next leyend The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine, this app was created with VB but I don't have de sources, what can I do? Connection Strings using Microsoft.Jet.OLEDB.4.0 for connections to Paradox, Excel, Textfile, Access, DBF / FoxPro, HTML Table, Excel 97, Excel 2000.

And here is what it lists about the Jet Database Engine:

Microsoft Jet Database Engine 4.0: Starting with version 2.6, MDAC no longer contains Jet components. In other words, MDAC 2.6, 2.7, 2.8, and all future MDAC/WDAC releases do not contain Microsoft Jet, the Microsoft Jet OLE DB Provider, the ODBC Desktop Database Drivers, or Jet Data Access Objects (DAO). The Microsoft Jet Database Engine 4.0 components entered a state of functional deprecation and sustained engineering, and have not received feature level enhancements since becoming a part of Microsoft Windows in Windows 2000.


There is no 64-bit version of the Jet Database Engine, the Jet OLEDB Driver, the Jet ODBC Drivers, or Jet DAO available. This is also documented in KB article 957570. On 64-bit versions of Windows, 32-bit Jet runs under the Windows WOW64 subsystem. For more information on WOW64, see http://msdn.microsoft.com/en-us/library/aa384249(VS.85).aspx. Native 64-bit applications cannot communicate with the 32-bit Jet drivers running in WOW64.


Instead of Microsoft Jet, Microsoft recommends using Microsoft SQL Server Express Edition or Microsoft SQL Server Compact Edition when developing new, non-Microsoft Access applications requiring a relational data store. These new or converted Jet applications can continue to use Jet with the intention of using Microsoft Office 2003 and earlier files (.mdb and .xls) for non-primary data storage. However, for these applications, you should plan to migrate from Jet to the 2007 Office System Driver. You can download the 2007 Office System Driver, which allows you to read from and write to pre-existing files in either Office 2003 (.mdb and .xls) or the Office 2007 (*.accdb, *.xlsm, *.xlsx and *.xlsb) file formats. IMPORTANT Please read the 2007 Office System End User License Agreement for specific usage limitations.


Note: SQL Server applications can also access the 2007 Office System, and earlier, files from SQL Server heterogeneous data connectivity and Integrations Services capabilities as well, via the 2007 Office System Driver. Additionally, 64-bit SQL Server applications can access to 32-bit Jet and 2007 Office System files by using 32-bit SQL Server Integration Services (SSIS) on 64-bit Windows.

This all pertains to the components that actually ship with Windows. The Office team has since taken up Jet as part of Access and has come out with what they call the Access Control Entry (ACE) driver. For more information on the ACE Drivers, you can check out this blog post which goes into details. the ACE driver/provider is completely backwards compatible with Jet 4.0 though.

Office 2010 will introduce a 64 bit version of Office. With that is coming a 64 bit version of the ACE Driver/Provider which will in essence give you a 64 bit version of Jet. The downside is that it doesn’t ship with the operating system but will be a redistributable. There is a beta version available of this driver, as Office 2010 hasn’t been released yet.

2010 Office System Driver Beta: Data Connectivity Components
http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

Adam W. Saxton | Microsoft SQL Server Escalation Services

Active2 months ago

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
21.1k22 gold badges102 silver badges137 bronze badges
neoneo
4,0996 gold badges17 silver badges26 bronze badges

21 Answers

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,29717 gold badges69 silver badges136 bronze badges
neoneo
4,0996 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,8502 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.

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

Hp drivers for macshA.t
13.5k4 gold badges39 silver badges77 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.9k7 gold badges45 silver badges82 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,

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

https://luckydance.netlify.app/canon-bubble-jet-bjc-2100-drivers-for-mac.html. Bubble Jet BJC-2100 Series Driver For Mac To look after issues away from your drivers, you will need to concentrate on the very type of this unique Printer method you are procuring troubles by using (should you really get picked to further improve the crucial Drivers in the flesh, only for great Driver customize usually Driver Modify Valuable.

Muhamed ShafeeqMuhamed Shafeeq
8871 gold badge8 silver badges15 bronze badges

We have come across this issue in desktop app.

Microsoft Jet Oledb 4.0 Drivers For Machine 64 Bit

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.

ForMicrosoft.jet.oledb.4.0 Drivers For Mac

Install Microsoft Jet Oledb 4.0

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

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,9261 gold badge20 silver badges36 bronze badges

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

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

Microsoft Jet Oledb 4.0 Drivers For Machine Vb.net

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
11.3k4 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

Mac computers can use an HDMI cable or adapter to connect to an HDTV, display, or other HDMI device. Mac computers that have any of the following ports can connect to HDMI devices. Learn how to identify the ports on your Mac. Hdmi to vga cable walmart. Moread HDMI to VGA Adapter with Audio, Gold-Plated Active HDMI to VGA Adapter (Male to Female) with Micro USB & 3.5mm Audio Cable Compatible with PS4, MacBook Pro, Mac Mini, Apple TV - Black. Feb 14, 2013  One word of caution with the MiniDisplayPort-to-VGA connecting cables from MonoPrice.com: I'm using one to connect a 2012 Mini to a Dell 1905FP monitor. The adapter works, BUT, the threads at 'the monitor end' of the connecting cable are wrong. Mac Mini to VGA. Showing 40 of 348 results that match your query. Search Product Result. Product - New Mini Display Port DP To HDMI VGA Adapter Cable For Apple Macbook Air Pro PC. Product Image. Product Title. New Mini Display Port DP To HDMI VGA Adapter Cable For Apple Macbook Air Pro PC. Cablematters.com offers a wide range of cable products including hdmi, displayport, dvi, sas, vga, network, usb.

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

Reference : Here

Usman KhalidUsman Khalid
1,9287 gold badges31 silver badges60 bronze badges

Brother Printer Drivers For Mac

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

Microsoft Jet Oledb 4.0 Drivers For Machine Excel

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,2463 gold badges28 silver badges38 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
167k30 gold badges221 silver badges292 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?

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