摘要

从 2021 年 5 月 11 Windows 和 Microsoft Office 更新开始,已添加使您的应用程序更安全的选项,以允许您在查询执行中禁用远程引用。 当允许非特权用户使用 Jet Red 数据库引擎 或 Access Connectivity Engine (ACE) 运行自定义 SQL 查询时,可能需要这样做。 

默认情况下,不会通过安装这些更新来更改访问 Jet 或 ACE。 

更多信息

如果您禁用使用 Jet Red Database Engine 或 Access Connectivity Engine (ACE) 访问远程数据库,则在运行 SQL 查询时,可能会收到如下所示的错误消息:

  • Microsoft Access: 如果用户在 Access 中执行查询,则会显示以下错误消息:

错误消息对话框

错误消息文本

此类对象不支持操作

Microsoft Access

此类对象不支持操作。

  • Microsoft Access: 如果用户执行运行查询的代码,则将显示运行时错误 3251,除非该错误消息在代码中得到处理:

错误消息对话框

错误消息文本

运行时错误 3251

Microsoft Visual Basic for Applications

运行时错误 ‘5941’

此类对象不支持操作。

警告: 如果在禁用以下注册表值后选择重新启用它们,则可能导致您的设备容易受到恶意用户或恶意软件的攻击。 不建议在禁用这些注册表值后重新启用它们。 然而,此信息仅供参考,你应自行决定是否选择实施此解决方法。 使用此方法需要您自担风险。

警告: 使用注册表编辑器或其他方法修改注册表不当可能会出现严重问题。 这些问题可能需要您重新安装操作系统。 Microsoft 不能保证可解决这些问题。 请自行承担修改注册表的风险。

Jet Red Database Engine

若要禁用使用 Jet Red Database Engine 访问远程数据库,请向注册表添加以下内容:

对于 x64 位系统:

  • 注册表位置: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Jet\4.0\Engines
    DWORD 名称:AllowQueryRemoteTables
    值数据:0

对于 x86 位系统:

  • 注册表位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines
    DWORD 名称:AllowQueryRemoteTables
    值数据:0

备注 若要重新启用 Jet Red Database Engine 访问远程数据库,将值数据更改为 1

Access Connectivity Engine (ACE)

若要禁用使用 Access Connectivity Engine (ACE) 访问远程数据库,请向注册表添加以下内容:

  • 对于 Office 2016、Office 2019 和 Microsoft 365 Applications(包括 2016 Access Connectivity Engine 可再发行程序包),将以下内容添加到注册表:

    注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine
    DWORD 名称:AllowQueryRemoteTables
    值数据:0

  • 对于 Office 2013,将以下内容添加到注册表:

    注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine
    DWORD 名称:AllowQueryRemoteTables
    值数据:0

备注 若要重新启用访问 Access Connectivity Engine (ACE) 访问远程数据库,将值数据更改为 1

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×