4

我正在尝试设置一个网页,用户可以在其中选择要运行的 .rdl 文件,它将打开报表查看器控件 (ASPX)、加载报表定义文件、运行它并显示报表。

到目前为止,我发现“本地”报告只能接受来自代码的数据源(因此您必须手动执行数据库代码,这会很痛苦,因为报告之间的数据源可能会有很大差异),以及“远程" 报告需要 SSRS 服务器,我无法设置。

令我困惑的是,Report Builder 3 能够运行带有嵌入式数据源的 .rdl 文件,那么为什么 Report Viewer 不能控制呢?有什么方法可以让 Report Viewer 控件像 Report Builder 3 一样运行并让它运行 .rdl 文件?

4

3 回答 3

2

报告查看器可以运行 RDL 文件,但首先需要在某处托管/发布它们,然后报告查看器处于远程模式。ReportView 有不同的模式可以运行,其中一种基本上只是与 SSRS 服务器交谈并说:“你在那里搞了什么?”。关于何时发布本地报告或托管报告以及其中一个相对于另一个的优点/缺点有很多争论。如果成本是一个问题,您可以只开发一个带有“高级选项”的常规 SSRS 服务器,以便在一个盒子上获取 SSRS 实例,并相应地调整防火墙。如果这是一个政策设置,我无能为力。

老实说,如果您想要对实体框架或 WCF 服务之类的东西进行更多耦合控制,并且想要在将数据放入报告之前对其进行处理,我会选择 RDLC。如果您想创建一个包含大型数据集的报表并为用户提供很多选项来更改报表布局和参数值,我会选择 rdl 但知道您需要设置一个 SSRS 实例。尝试在没有服务器的情况下设置 RDL 报告然后运行它们是一个很大的痛苦,它不会让你感到太多,但会让人心痛。如果它是您想要的参数,您可以创建自己的参数,然后在数据进入 RDLC 的数据源之前对数据进行处理,然后将 RDLC 呈现给最终用户。此方法涉及阅读更多有关报告语言的 MS 白皮书,并了解如何在代码中实现 RDLC 对象。

更多关于 RDL 与 RDLC 的永恒争论:何时使用 RDLC 而不是 RDL 报告?

于 2013-07-12T19:15:33.850 回答
0

这是 MSDN 文章的链接,该文章将提供有关使用 WebForms ReportViewer 控件的一些信息:

http://technet.microsoft.com/en-us/library/aa337091(v=sql.100).aspx

于 2013-10-08T07:03:18.523 回答
0

不,除非您使用 RDLC 文件,否则您将需要一个 SSRS 服务器来执行您正在尝试执行的操作。您可以非常有创意地自己解析数据源的 RDL xml 并执行操作,但这基本上与 RDLC 做同样的事情。

于 2013-07-12T18:13:26.983 回答