SQL Server报告服务:如何在打开时停止触发报告

Ant*_*ony 29 sql-server reporting-services

我们有一些SQL服务器报告服务报告.我当时没有写,但我必须照顾他们.

这些报告在浏览器中打开时触发,并且使用默认参数(搜索条件和限制为空白),它们检索大量数据,这很慢.客户端希望在用户输入参数并按"查看报告"之前不生成报告

不幸的是,我根本不了解SSRS - 如何在打开报告时停止报告?


有关如何在已部署的报告上执行此操作的详细信息(根据Rihan Meij的回答)如下:

点击报告,点击顶部的"属性".您可能需要稍等一下,因为慢速报告可能正在运行.然后单击左侧的"参数".

对于每个参数,请确保选中"提示用户",并且对于至少一个参数,不选中"已默认".再次单击左上角的"查看"(或返回文件夹并单击报告名称)以查看报告,并注意报告不会立即触发.

在报告构建器中,您可以通过"过滤器"菜单执行此操作.从至少一个过滤器中取消选择值,然后保存报告.

报告没有参数时,是否也可以停止报告加载?

0by*_*tes 16

我发现我必须设置至少一个报告参数,没有默认值来保持报告不被自动运行.

我不得不使用这个配置(请注意,我没有默认值的所有3个参数都接受Null,因此用户只需单击Null复选框):

[缺失截图]

让用户看到这个并保持报告不会自动运行:

[缺失截图]

  • 由于外部链接中断,此帖中的重要信息已经过时.如果可以,请恢复丢失的屏幕截图. (4认同)

Tei*_*ark 5

我知道这篇文章有点旧,但由于我这里有另一个解决方案,我只是发布它以防有人需要它。

如果您使用 ReportViewer,则可以设置属性 ShowBody="False"。然后在 OnSubmittingParameterValues 事件中,将 ShowBody 属性更改为 true。那么您不需要任何额外的参数或报告中没有默认值的参数。

<rsweb:ReportViewer 
        ID="rv" 
        runat="server"  
        Width="100%" 
        Height="100%" 
        SizeToReportContent="false" 
        ZoomMode="PageWidth"
        KeepSessionAlive="true" 
        ProcessingMode="Remote"
        PromptAreaCollapsed="false" 
        InteractivityPostBackMode="AlwaysAsynchronous"
        AsyncRendering="true" 
        ExportContentDisposition="AlwaysInline"
        ShowReportBody="False"
        ShowPrintButton="false"
        OnSubmittingParameterValues="rv_SubmittingParameterValues"/>
Run Code Online (Sandbox Code Playgroud)

然后在 rv_SubmittingParameterValues 方法中:

this.rv.ShowReportBody = true;
Run Code Online (Sandbox Code Playgroud)


Jim*_* W. 5

我将我的参数选择之一的默认值设置为不存在的值 -1(不是有效的参数值)。这没有产生错误。它只是将参数下拉框设置为并阻止报告运行。我无法使用 NULL 的默认值,因为 NULL 会选择所有内容,并且我希望用户在报告运行之前有目的地选择 ALL (NULL)。如果选择 ALL,则报告需要几分钟才能呈现。