Word 2010:邮件合并到 dbo 以外的架构中的表

Word 2010:邮件合并到 dbo 以外的架构中的表

我正在尝试对 SQL Server 2005 视图执行邮件合并。我创建了两次相同的视图,一次没有指定架构(即 DBO),一次指定了架构。在 SQL Server Management Studio 中,使用 Windows 身份验证登录,我可以毫无问题地访问这两个视图。

使用 Word 2012 中的“选择收件人”>“使用现有列表”选项,我使用 Windows 身份验证连接到数据库服务器。两个视图都包含在可用表列表中,如下所示。

选择数据库和表

接下来,我为每个视图创建了一个连接。我能够成功从“dbo”拥有的视图合并。但是,我无法从“Permit”拥有的视图合并。我收到以下错误。

错误信息

我知道的唯一区别是成功的那个使用默认的“dbo”架构,而另一个使用“Permit”。是否有额外的步骤来确保在合并时使用架构信息?如何从不属于“dbo”的表或视图进行邮件合并?

更新

我做了一些额外的测试。查看用于定义连接的 ODC 文件,我发现架构信息已正确记录。

ODC 文件

为了测试,我将 ODC 文件重命名为 HTM 文件,并在 Internet Explorer 中打开它。它毫无问题地显示了数据库中的实时数据。

然后,我尝试在使用 SQL Server Profiler 监听的同时进行邮件合并,只是为了看看 Word 正在尝试运行哪些查询。

SQL Server 事件探查器

正如我所怀疑的,Word 2010 在邮件合并时没有使用架构信息。

答案1

这是 Word 2003、Word 2007 和 Word 2010 中的一个已知问题。Microsoft 知识库文章中包含答案。

http://support.microsoft.com/kb/918295

本文介绍了 Word 2003 和 Word 2007 的过程,但 Word 2010 也类似。以下是我针对 Word 2010 所做的操作。

  1. 退出所有 Office 程序。
  2. 点击开始, 点击跑步, 类型注册表编辑器,然后点击好的
  3. 找到并单击以下注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common
  4. 编辑菜单,指向新的,然后点击DWORD 值
  5. 类型使用合格表名称进行邮件合并,然后按ENTER
  6. 右键点击使用合格表名称进行邮件合并,然后点击调整
  7. 在里面价值数据框,类型1,然后点击好的
  8. 在文件菜单上,单击退出以退出注册表编辑器。

相关内容