MS-Access DB & Microsoft.Jet.OLEDB.4.0 issue


I need to setup a docker container in which a legacy application needs to connect to a MS-Access 2003 DB.

I have created the images based on …

  • microsoft/dotnet-framework
  • microsoft/windowsservercore
  • microsoft/mssql-server-windows-express

… and then I always get the same result when running the legacy application on the container.

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

I tried to register the ‘msjetoledb40.dll’ in SysWow64 with the following command

C:\Windows\SysWow64\regsvr32 Msjetoledb40.dll

but does not seem to work either.

I have also installed the Microsoft Access Database Engine Redistributable (2007, 2010 & 2016) in 32 and 64 bit (AccessDatabaseEngine.exe & AccessDatabaseEngine_X64.exe) but always get the same error mentioned above.

Microsoft Access Database Engine 2010 Redistributable
Microsoft Access Database Engine 2016 Redistributable

Any ideas ???

Thanks in advanced.


Found a ‘Jet 4.0 Service Pack 8 (SP8) for Windows 95/98/NT 4.0 (KB829558)’ package.

Copied the Jet40SP8_9xNT.exe to the container and added this statement to the dockerfile

RUN Jet40SP8_9xNT.exe /Q
1 Like

Mentioned link to download " Jet40SP8_9xNT.exe" is not working, can someone please help me get working link to download?

Thanks in Advance.

It looks like Microsoft removed that service pack since the version it was created for is not supported anymore. I don’t know if it is safe to download it from somewhere else, so you should probably ask on the Microsoft forum, but I found this:

Thanks for your reply, i agree it isn’t safe to use in production, i am looking from legitimate source link from Microsoft, will post to MS forum.