打开链接到数据源的 Word 邮件合并主文档时,您会收到"打开此将运行以下 SQL 命令"消息


重要:本文包含的信息将向您显示如何帮助降低计算机上的安全设置或关闭安全功能。您可以通过这些更改来解决特定的问题。我们建议在进行这些更改之前,充分考虑与在您的特定环境中实施此替代方法相关联的风险。如果实施该替代方法,请采取任何适当的附加措施来帮助保护您的系统。

症状

在 Microsoft Office Word 中打开邮件合并主文档时,您会遇到下列症状之一:

  • 您会收到以下提示:

    打开此文档将运行以下 SQL 命令:
    选择 *数据源
    数据库中的数据将放置在文档中。您还要继续吗?注意:如果单击,邮件合并主文档打开附加的数据源。如果单击,则邮件合并主文档没有附加的数据源打开。

    在 Microsoft Office Word 2007 中,执行以下操作时显示的提示:

    • 若要确定与您收到的消息相关联的唯一编号,请按 CTRL + SHIFT + I。在此消息的右下角将显示下面的编号:

      201235

  • 通过使用 Microsoft Visual Basic Applications(VBA) 打开邮件合并主文档没有附加的数据源。

注意:它可能是您正在使用的程序,例如 Microsoft Access 或 Microsoft Visual FoxPro,若要以编程方式打开的邮件合并主文档文件,当您遇到的症状在这篇文章时。

原因

"症状"一节中描述的提示是设计使然。

此提示所有更新版本的 Microsoft Office 中存在,并且在 Office XP Service Pack 3 中引入。为使邮件合并更安全"适用于"一节中列出的产品中添加了此提示。如果您单击,当您收到提示,则允许在您的计算机上运行的代码。恶意用户可以手工创建旨在试图窃取或破坏您有权访问的数据的 SQL 查询。如果收到提示时单击,就不会让代码运行。


注意:设置 DisplayAlerts = 无通过 VBA 使用 VBA,打开文件时禁止显示提示,但使用无选项来打开文档并没有数据附加到邮件合并主文档。

解决方法

警告此替代方法可能导致您的计算机或网络更易于受到恶意用户或恶意软件 (如病毒) 的攻击。我们不建议采用这种解决方法,但提供此信息,以便您可以自己决定实施此替代方法。使用此替代方法需要您自担风险。

重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756如何备份和还原在 Windows 注册表

如果您阅读并理解此文章中提供的免责声明,如果您通过使用邮件合并打开的文档来自受信任源,您可能需要解决"症状"一节中描述的行为。

若要变通解决此问题,请使用SQLSecurityCheck注册表项禁用安全提示。

若要使用SQLSecurityCheck注册表项禁用安全提示,请按照您的 Word 版本执行相应的步骤。

Word 2013

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options 

"SQLSecurityCheck"=dword:00000000

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表项:

    HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\Options

  3. 编辑菜单上,指向新建,然后单击 DWORD 值

  4. 名称下键入:

    SQLSecurityCheck

  5. 双击SQLSecurityCheck

  6. 数值数据框中,键入:

    00000000

  7. 单击确定


Word 2010

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options  

"SQLSecurityCheck"=dword:00000000

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表项:

    HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options

  3. 编辑菜单上,指向新建,然后单击 DWORD 值

  4. 名称下键入:

    SQLSecurityCheck

  5. 双击SQLSecurityCheck

  6. 数值数据框中,键入:

    00000000

  7. 单击确定

Word 2007

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options

"SQLSecurityCheck"=dword:00000000

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表项:

    HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options

  3. 编辑菜单上,指向新建,然后单击 DWORD 值

  4. 名称下键入:

    SQLSecurityCheck

  5. 双击SQLSecurityCheck

  6. 数值数据框中,键入:

    00000000

  7. 单击确定

Word 2003

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options

"SQLSecurityCheck"=dword:00000000

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表项:

    HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options

  3. 单击编辑,指向新建,然后单击DWORD 值

  4. 名称下键入:

    SQLSecurityCheck

  5. 双击SQLSecurityCheck

  6. 数值数据框中,键入:

    00000000

  7. 单击确定

Word 2002 Service Pack 3

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options

"SQLSecurityCheck"=dword:00000000
若要执行此操作,请执行以下步骤:

  1. 启动注册表编辑器。

  2. 找到并单击以下注册表项:

    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Word\Options

  3. 单击编辑,指向新建,然后单击DWORD 值

  4. 名称下键入:

    SQLSecurityCheck

  5. 双击SQLSecurityCheck

  6. 数值数据框中,键入:

    00000000

  7. 单击确定

状态

此行为是设计使然。

需要更多帮助?

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

此信息是否有帮助?

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

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

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

谢谢您的反馈意见!

×