我正在尝试设置一个网页,用户可以在其中选择要运行的 .rdl 文件,它将打开报表查看器控件 (ASPX)、加载报表定义文件、运行它并显示报表。
到目前为止,我发现,“本地”报告只能接受来自代码的数据源(因此您必须手动执行数据库代码,这将很痛苦,因为报告之间的数据源可能差异很大) “报告需要 SSRS 服务器,但我无法设置。
让我困惑的是,Report Builder 3 能够运行其中嵌入了数据源的 .rdl 文件,那么为什么 Report Viewer 不能控制呢?有什么方法可以让报表查看器控件像报表生成器 3 一样运行,并让它运行 .rdl 文件吗?
报告查看器可以运行 RDL 文件,但它们需要首先托管/发布到某处,然后报告查看器处于远程模式。 ReportView 有不同的运行模式,其中一种基本上只是与 SSRS 服务器对话并说:“你在那里得到了什么?”。关于何时进行本地报告或托管报告以及其中一种相对于另一种的优点/缺点存在很多争论。如果考虑成本问题并相应地调整防火墙,您可以只开发一个带有“高级选项”的常规 SSRS 服务器,以便在一台机器上安装 SSRS 实例。如果这是一项政策设置,我无能为力。
老实说,如果您想要对实体框架或 WCF 服务之类的东西进行更多耦合控制,并且想要在将数据放入报告之前对其进行处理,我会选择 RDLC。如果您想创建一个包含大型数据集的报告,并为用户提供很多选项来更改报告布局和参数值,我会使用 rdl,但知道您需要设置一个 SSRS 实例。尝试在没有服务器的情况下设置 RDL 报告然后运行它们是一个巨大的痛苦,不会让您感到太多,而是让您心痛。如果这是您想要的参数,您可以创建自己的参数,然后在数据进入 RDLC 的数据源之前对其进行处理,然后将 RDLC 呈现给最终用户。此方法涉及阅读更多有关报告语言的 MS 白皮书并了解如何在代码隐藏中实现 RDLC 对象。
更多有关 RDL 与 RDLC 的永恒争论请参见:何时使用 RDLC 而不是 RDL 报告? https://stackoverflow.com/questions/1079162/when-to-use-rdlc-over-rdl-reports/17070881#17070881
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)