4

如果已经有人问过这个问题,我深表歉意,但我的搜索运气不佳。我也尝试过 MSDN 论坛,但很明显我需要大炮来解决这个问题;)

我正在使用 VS2008 (SSRS 2008 R2) 创建一系列子报表。每个子报表从 WCF Web 服务查询 1 个或多个 Web 方法。

当我将 rdl 作为独立报告运行时,一切都会正确呈现。当我将该 rdl 作为子报告运行时,我收到一条错误消息,建议我检查日志(详细信息和以下重现的步骤。)

简单测试(无子报告):

使用Reporting Services:使用 XML 和 Web 服务数据源一文中的说明,我能够为每个 Web 方法创建必要的共享数据集。

我利用表的共享数据集成功创建了一个报告 (SubTest.rdl)。数据集的底层 Web 方法不包含参数(尽量保持简单)。

SubTest.rdl 正确呈现!到目前为止,一切都很好。

测试 2:主/子报表结构

  1. 创建了父/主报告 (MasterTest.rdl)
  2. 添加了一个 Subreport 报告项,并指定了“SubTest.rdl”
    注意:没有指定报告参数,因为 SubTest 没有定义任何参数。

在呈现 MasterTest.rdl 报告期间收到以下错误:

警告 1 [rsErrorExecutingSubreport] 执行子报告“Subreport1”(实例:5iS0)时出错:子报告“Subreport1”的数据检索失败,位于:/SubTest。请检查日志文件以获取更多信息。

附加测试:

为了确保我的子报表在 MasterTest.rdl 中正确定义,我更改了 SubTest.rdl。在 SubTest 中,我从“SubTest.rdl”中删除了 DataSource、DataSet 和 Table,并插入了一个用“Output From Subreport”字样填充的 TextBox。这在主报告中正确呈现,表明该问题与我的 Web 服务数据源/数据集特别相关。

问题: :(

  • 有没有办法完成这个任务?

  • 如果这是不可能的,任何人都可以建议一种解决方法来为子报表提供 Web 服务 xml 吗?

  • 另外,根据错误消息:知道在哪里可以找到此日志吗?(因为这是在 Visual Studio 中运行的,所以检查我本地机器上的 SSRS 日志文件夹没有帮助,在启用日志记录的情况下运行 VS 也没有帮助。)

我无法开始工作的解决方法: 我尝试按照链接文章中的说明将 XML 作为参数传递给子报表,但是

  • master 将 xml 作为标量字符串传递。因为我查询的是 Web 服务,而不是使用每行包含一个保存 XML 的 col 的数据集,所以我只有结果数据集可以使用。基本上我需要将数据集转换为标量。

  • 我很难按照说明进行操作(即使我可以解决问题 1,我什至不确定我是否正确定义了数据集和参数——当数据直到运行时才知道时如何获取字段?)

感谢您提供的任何帮助。这几天一直在发疯!

4

0 回答 0