SSRS URL访问指定触发参数页面时的格式中断报告

时间:2013-07-23 18:53:11

标签: reporting-services ssrs-2008

我正在使用SSRS(2008R2)Url Access在Web应用程序中呈现报表。我需要指定报告的格式,并且能够使用rs:Format=选项成功完成,只要报告没有需要指定的任何必需参数。

如果报告要求用户输入参数,则会失败。如果我然后从网址中删除rs:Format选项,则报告的参数页面会正常显示,如果我做出选择,报表将会呈现。

我的网址访问网址如下所示: https://www.imnottelling.com/ReportServer_SQL2008R2/Pages/ReportViewer.aspx?/AppReports/Cool+Report&rs:Command=Render&rc:LinkTarget=main

请注意,尝试此操作时收到的错误消息告诉我参数丢失,这取决于尝试运行的报告。

这让我相信(A)不支持或(B)我在网址中遗漏了某些内容。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这应该是'设计'我相信,因为网址的'rs:'部分是'RenderState(something)'。如果报告具有REQUIRED参数,您有三种选择:

  1. 设置默认
  2. 将它们传递给Rest URI
  3. 如果要通过Rest URI
  4. 自动生成,请将其删除

    一般来说,你只需要将参数添加到你的休息uri中:

    主根

    http:// (servername)/ReportServer/Pages/ReportViewer.aspx?
    

    目录(如果有的话)

    %2fTest%2f
    

    ITEMNAME:

    ComboWithParm
    

    renderit:

    &rs:Command=Render
    

    参数:

    &Parm=HereIAmPassedInThroughAnUrl
    

    一下子:

    http:// (servername)/ReportServer/Pages/ReportViewer.aspx?%2fTest%2fComboWithParm&rs:Command=Render&Parm=HereIAm
    

    如果您使用的是带有.NET技术和ASP.NET的Web应用程序,我相信您可以使用报表查看器对象。否则,您可能被迫处理使用报告网址。我知道我读过Brian Larson为SSRS 2008撰写的一本书,他有一个例子,你基本上绑定一个HTML表单,并在表单对象中使用一个select节点来设置服务的属性。如果你本地做HTML,这也许是一个好主意。它与此类似:

    <form id="frmRender" action="http:// (servername)/(pathtoreport)" method="post" 
     target="_self">
    <H3>My Report Title</H3>
    Render in the following format:<br/>
    <Select ID="rs:Format" Name="rs.Format" size=1>
    <Option Value="HTML4.0">HTML 4.0</Option>
    <Option Value="IMAGE">TIFF IMAGE</Option>
    </Select>
    </form>