Docker Community Forums

Share and learn in the Docker community.

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


(Hexabitag) #1

Hi,

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.


(Hexabitag) #2

SOLVED:

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