如果已经有人问过这个问题,我深表歉意,但我的搜索运气不佳。我也尝试过 MSDN 论坛,但很明显我需要大炮来解决这个问题;)
我正在使用 VS2008 (SSRS 2008 R2) 创建一系列子报表。每个子报表从 WCF Web 服务查询 1 个或多个 Web 方法。
当我将 rdl 作为独立报告运行时,一切都会正确呈现。当我将该 rdl 作为子报告运行时,我收到一条错误消息,建议我检查日志(详细信息和以下重现的步骤。)
简单测试(无子报告):
使用Reporting Services:使用 XML 和 Web 服务数据源一文中的说明,我能够为每个 Web 方法创建必要的共享数据集。
我利用表的共享数据集成功创建了一个报告 (SubTest.rdl)。数据集的底层 Web 方法不包含参数(尽量保持简单)。
SubTest.rdl 正确呈现!到目前为止,一切都很好。
测试 2:主/子报表结构
- 创建了父/主报告 (MasterTest.rdl)
- 添加了一个 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,我什至不确定我是否正确定义了数据集和参数——当数据直到运行时才知道时如何获取字段?)
感谢您提供的任何帮助。这几天一直在发疯!