Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在没有SSRS服务器的情况下,如何使用报表查看器控件执行.rdl报表?_C#_Asp.net_Reporting Services_Rdl - Fatal编程技术网

C# 在没有SSRS服务器的情况下,如何使用报表查看器控件执行.rdl报表?

C# 在没有SSRS服务器的情况下,如何使用报表查看器控件执行.rdl报表?,c#,asp.net,reporting-services,rdl,C#,Asp.net,Reporting Services,Rdl,我正在尝试设置一个网页,用户可以在其中选择要运行的.rdl文件,它将打开一个报表查看器控件(ASPX),加载报表定义文件,运行它,然后显示报表 到目前为止,我发现,“本地”报告只能接受来自代码的数据源(因此您必须手动执行数据库代码,这将是一件痛苦的事情,因为数据源在不同的报告之间可能存在很大差异),而“远程”报告需要一个SSRS服务器,这是我无法设置的 让我困惑的是,报表生成器3能够运行嵌入数据源的.rdl文件,为什么报表查看器不能控制这些文件?有什么方法可以让报表查看器控件像报表生成器3一样运

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

到目前为止,我发现,“本地”报告只能接受来自代码的数据源(因此您必须手动执行数据库代码,这将是一件痛苦的事情,因为数据源在不同的报告之间可能存在很大差异),而“远程”报告需要一个SSRS服务器,这是我无法设置的


让我困惑的是,报表生成器3能够运行嵌入数据源的.rdl文件,为什么报表查看器不能控制这些文件?有什么方法可以让报表查看器控件像报表生成器3一样运行.rdl文件吗?

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

报表查看器可以运行RDL文件,但它们需要在某个地方托管/发布,首先是rub,然后报表查看器处于远程模式。ReportView可以在不同的模式下运行,其中一种模式基本上只是与SSRS服务器对话并说:“您在那里得到了什么?”。关于何时提交本地报告或主办报告,以及其中一份报告与另一份报告相比有哪些优点/缺点,存在着大量的争论。您可以只开发一个带有“高级选项”的常规SSRS服务器,以便在考虑成本的情况下将SSRS实例放在一个盒子上,并相应地调整防火墙。如果这是一个政策设置,我也无能为力

老实说,如果您希望对实体框架或WCF服务进行更多的耦合控制,并希望在将数据放入报表之前对其进行处理,我会选择RDLC。如果您想创建一个包含大型数据集的报表,并为用户提供许多选项来更改报表布局和参数值,我会选择rdl,但您需要设置一个SSRS实例。尝试在没有服务器的情况下设置RDL报告,然后运行它们是一件非常痛苦的事情,它带给你的不是什么,而是心痛。如果是您想要的参数,您可以创建自己的参数,然后在数据进入RDLC的数据源之前对数据进行处理,然后将RDLC呈现给最终用户。这种方法需要阅读更多关于报告语言的MS白皮书,并理解如何在代码隐藏中实现RDLC对象


更多关于RDL与RDLC的永恒论据如下:

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


那么,为什么报表生成器在没有SSRS服务器的情况下运行该文件呢?它的特殊之处是什么?它是一个开发工具,用于预览您生成的报告。是的,您可以在不部署SSRS服务器的情况下使用报告。你可以使用本地报告。它可以是RDL或RDLC。@RohannG您能发布任何示例代码或任何信息吗?我同意,显然存在读取RDL文件并加载其中定义的所有不同数据集(包括共享)等的代码。我也希望我能让报表查看器这样做,但我已经放弃了。我想MS不会开放这个功能,因为很多人不会为SSR付费。我发现有人正在解析RDL文件以获取信息。仍在决定是否投入更多时间。可能重复