繁体   English   中英

Docker for Windows & MS-Access 数据库 & Jet.OLEDB.4.0

[英]Docker for Windows & MS-Access database & Jet.OLEDB.4.0

我需要设置一个 docker 容器,其中一个遗留应用程序需要连接到一个 MS-Access 2003 DB。 到 DB 的连接字符串嵌入在应用程序本身中,因此无法更改。 所以我也不能将提供者更改为ACE.OleDb

我创建了基于…的 docker 图像

  • 微软/dotnet 框架
  • 微软/windowsservercore
  • 微软/mssql-server-windows-express

…但在容器上运行旧版应用程序时,我总是得到相同的结果。

'Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册。

我还尝试使用容器中的以下命令在 SysWow64 中注册msjetoledb40.dll ...

C:\Windows\SysWow64\regsvr32 Msjetoledb40.dll

...但似乎也不起作用。

我还安装了 32 位和 64 位(AccessDatabaseEngine.exe 和 AccessDatabaseEngine_X64.exe)的 Microsoft Access Database Engine Redistributable(2007、2010 和 2016),但总是遇到与上述相同的错误。

2007 Office System 驱动程序:数据连接组件

Microsoft Access 数据库引擎 2010 可再发行组件

Microsoft Access 数据库引擎 2016 可再发行组件

有任何想法吗?

解决了:

我找到了一个“ Jet 4.0 Service Pack 8 (SP8) for Windows 95/98/NT 4.0 (KB829558) ”包。

Jet40SP8_9xNT.exe复制到容器中,并将这条语句添加到dockerfile

RUN Jet40SP8_9xNT.exe /Q

上面提到的链接不再存在,有人可以粘贴工作链接..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM