Microsoft Access DBEngine.OpenDatabase() 网络路径中断 - 错误 3050

pap*_*ear 5 ms-access database-connection

我们有一个 Access 数据库解决方案,前端和后端数据库运行了多年。

现在在过去两天内出现了问题。例如

        Set db = DBEngine.OpenDatabase(strDatabasePath, False, True, "MS Access;PWD=" & strPassword)
Run Code Online (Sandbox Code Playgroud)

确实会导致错误 3050 - 文件无法锁定。仅当后端数据库位于网络共享上时(如果位于本地驱动器上,一切都会按预期工作)。

该错误发生在任何共享上:

  • Windows PC 上的共享文件夹
  • NAS 上的共享 (Samba) 文件夹
  • 无论是通过 UNC 路径 (\server\share) 还是通过映射的驱动器路径访问共享。

该错误是由错误的 Office 补丁引起的(似乎是 V2111 - 14701.20240)

在这篇文章的第一个版本中,我认为 Windows 更新 KB5008212 导致了该问题。

感谢@Gustav 找出问题。

我们如何知道 MS 何时愿意解决问题?

Gus*_*tav 6

来自微软:

\n
\n

这是由于今天\xe2\x80\x99s(周二补丁)Office 更新所致。该问题\n是由安全修复程序引起的,因此它会影响\nAccess 的所有活动版本。我们正在努力修复,并将尽快\n提供修复。

\n

该更新仅被设置为自动更新一小部分用户,看起来我们将能够暂停自动更新,因此它不会传播。

\n

将会有一个页面添加到

\n

Access (microsoft.com) 中最新问题的修复或解决方法

\n

这将是\n获取更新的地方。

\n

这些是引入问题的更新:

\n
KB 5002104 for Office 2013\nKB 5002099 for Office 2016\nOffice 2019 Version 1808, build 10381.20020\nOffice LTSC 2021 Version 2108, build 14332.20204\nMicrosoft 365 Apps:\n    Current Channel Version 2111, build 14701.20248\n    Monthly Enterprise Channel Version 2110, build 14527.20340\n    Monthly Enterprise Channel Version 2109, build 14430.20380\n    Semi-Annual Enterprise Channel (Preview) Version 2108, build 14326.20692\n    Semi-Annual Enterprise Channel Version 2102, build 13801.21086\n    Semi-Annual Enterprise Channel Version 2008, build 13127.21842\n
Run Code Online (Sandbox Code Playgroud)\n

如果您确实更新到了这些版本之一,当前唯一的解决方案\n就是返回到频道中较早的版本。

\n
\n

  • 该问题现在有一个页面:https://support.microsoft.com/en-us/office/access-error-could-not-use-path-to-database-accdb-file-already-in-use-6cbc1560 -62c2-46e7-9980-d079a46f5acc(状态:调查中) (2认同)