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

Posted

技术标签:

【中文标题】网络路径的 Microsoft Access DBEngine.OpenDatabase() 中断 - 错误 3050【英文标题】:Microsoft Access DBEngine.OpenDatabase() breaks for Network-Paths - Error 3050 【发布时间】:2022-01-18 17:11:53 【问题描述】:

我们有一个运行多年的前端和后端数据库的 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-Update KB5008212 导致了问题。

感谢@Gustav 发现问题。

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

【问题讨论】:

我找到了解决方法here 【参考方案1】:

我们的表现方式不同。我似乎得到了很多孤立的锁文件。用户在进入数据库时​​遇到了一些问题,但通常如果我删除锁定文件并让他们等待 5 分钟,问题就会消失。从这开始,它一直是一个游戏,为了以防万一,每天将备份运行到一个单独的文件中。你知道什么是主要的痛苦。我会留意这里出现的情况。谢谢大家(是的,这更像是评论而不是答案,但我需要更多字符)

【讨论】:

【参考方案2】:

“修复”不起作用。我已经在 10 个客户端上重新安装了最新版本 2111,但它不起作用。我不得不恢复到 2008 版。微软已经影响了我们一些设施的生产,他们声称这是“已修复”的崩溃。

【讨论】:

这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review 这是对@Gustav’s answer 的评论。不应将其作为答案发布。 (承认 Joshua 还没有评论所需的声誉。)【参考方案3】:

我们遇到了同样的问题。

从 OfficeWeb-Portal 卸载 Office 365(32 位)并重新安装 Office 365(32 位)似乎可以解决问题。

【讨论】:

...直到再次安装更新。 此 MS KB article 解释了如何恢复到早期版本的 Office 并禁用自动更新。【参考方案4】:

来自微软:

这是由于今天(补丁星期二)对 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(Build 14701.20262 单击并运行)

以上是关于网络路径的 Microsoft Access DBEngine.OpenDatabase() 中断 - 错误 3050的主要内容,如果未能解决你的问题,请参考以下文章

使用Microsoft Access创建文档数据库

Microsoft Office 12.0 Access 数据库引擎 OLE DB Provider

(Necessitas)Microsoft sql db access在打开时出错

将 Java 连接到网络驱动器上的 Access DB

Microsoft Office 12.0 Access 数据库引擎 OLE DB 提供程序问题

使用 Microsoft.Jet.OLEDB.4.0 从 C# 将行插入 Access db,自动编号列设置为零