网络路径的 Microsoft Access DBEngine.OpenDatabase() 中断 - 错误 3050
Posted
技术标签:
【中文标题】网络路径的 Microsoft Access DBEngine.OpenDatabase() 中断 - 错误 3050【英文标题】:Microsoft Access DBEngine.OpenDatabase() breaks for Network-Paths - Error 3050 【发布时间】:2021-12-15 14:00:40 【问题描述】:我们有一个运行多年的前端和后端数据库的 Access 数据库解决方案。
现在在过去两天内出现了问题。例如
Set db = DBEngine.OpenDatabase(strDatabasePath, False, True, "MS Access;PWD=" & strPassword)
是否会导致错误 3050 - 无法锁定文件。仅当后端数据库在网络共享上时(如果它在本地驱动器上,一切都按预期工作)。
错误发生在任何共享上:
Windows PC 中的共享文件夹 NAS 上的共享 (Samba) 文件夹 独立是通过 UNC 路径 (\server\share) 还是映射的驱动器路径访问共享。错误是由错误的 Office 补丁引入的(似乎是 V2111 - 14701.20240)
在这篇文章的第一个版本中,我认为是 Windows 更新 KB5008212 导致了问题。
感谢@Gustav 发现问题。
我们如何知道 MS 何时愿意解决问题?
【问题讨论】:
我找到了解决方法here 【参考方案1】:来自微软:
这是由于今天(补丁星期二)对 Office 的更新。问题 由安全修复程序引入,因此它会影响所有活动版本 使用权。我们正在努力修复,并将尽快交付 可能。
更新只设置为自动更新很小 用户百分比,看起来我们可以暂停 自动更新,因此不会传播。
会有一个页面添加到
Fixes or workarounds for recent issues in Access (microsoft.com),
这将是去的地方 更新。
这些是引入问题的更新:
KB 5002104 for Office 2013 KB 5002099 for Office 2016 Office 2019 Version 1808, build 10381.20020 Office LTSC 2021 Version 2108, build 14332.20204 Microsoft 365 Apps: Current Channel Version 2111, build 14701.20248 Monthly Enterprise Channel Version 2110, build 14527.20340 Monthly Enterprise Channel Version 2109, build 14430.20380 Semi-Annual Enterprise Channel (Preview) Version 2108, build 14326.20692 Semi-Annual Enterprise Channel Version 2102, build 13801.21086 Semi-Annual Enterprise Channel Version 2008, build 13127.21842
如果您确实更新到其中一个版本,唯一的解决方案是 目前是回到频道中较早的版本。
【讨论】:
没有了。 :( 以上内容是否在某处公开可用?- 感谢您提供信息,如果您获得新信息,请更新。 我不知道。该网站将是我发布的链接。我会留意的。 谢谢@Gustav。回到早期版本解决了这个问题。初始问题已更新。 该问题现在有一个页面:support.microsoft.com/en-us/office/…(状态:正在调查) 现在强制更新。这将获得问题已解决的版本 2111(构建 14701.20262 单击并运行)。【参考方案2】:我们遇到了同样的问题。
从 OfficeWeb-Portal 卸载 Office 365(32 位)并重新安装 Office 365(32 位)似乎可以解决问题。
【讨论】:
...直到再次安装更新。 此 MS KB article 解释了如何恢复到早期版本的 Office 并禁用自动更新。【参考方案3】:实际上,安装 2008 版为我解决了这个问题。 Microsoft 昨天(2022 年 1 月 11 日)刚刚发布了版本 2108 和 2112 的新版本,这也为我解决了同样的问题。
【讨论】:
请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 4.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本,因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?【参考方案4】:我们的表现方式不同。我似乎得到了很多孤立的锁文件。用户在进入数据库时遇到了一些问题,但通常如果我删除锁定文件并让他们等待 5 分钟,问题就会消失。自此开始以来,它一直是一个游戏,每天将备份运行到一个单独的文件以防万一。你知道什么是主要的痛苦。我会留意这里出现的情况。谢谢大家(是的,这更像是评论而不是答案,但我需要更多字符)
【讨论】:
以上是关于网络路径的 Microsoft Access DBEngine.OpenDatabase() 中断 - 错误 3050的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider
(Necessitas)Microsoft sql db access在打开时出错