SQL报表服务器URL失控(ExecId和PingId)

dta*_*o04 6 sql reporting report reporting-services

我有一个报告,允许用户钻取子报告,然后返回主报告并输入新标准.我注意到每次向下钻取然后返回到主报告,在点击每个链接时,以下信息被添加到我的URL:

&ExecId=xq4pydfqqc3eqkygktfx0uah&PingId=f3kthzre4mbyg0mfjsfe0qmu
Run Code Online (Sandbox Code Playgroud)

这是我在第一个链接之后得到的,每个附加链接产生另一个:

&PingId=f3kthzre4mbyg0mfjsfe0qmu
Run Code Online (Sandbox Code Playgroud)

用户执行此操作一段时间后,链接开始如下所示:

&PingId=hbtv1gyagv4tsx55cdfc1on5&PingId=ghdx5b45fn4qk045zggkpi45&PingId=ykb5ku2jhy1d11iyaguann45&PingId=eryqw4eg3md2bsmsmxmqce45&PingId=3l4ppd45nl1t3355o0cbzij4&PingId=bxcp4l45cosufzba2o5cj355&PingId=oyqnea55wfkefv4552kj1045&PingId=nrhjfxjinnvmgl45rcqqbk55&PingId=44yavxb0rcldabuqzdeekl3a&PingId=3o4mtxy0e4hise454zfvp055&PingId=r1pjxf55o1yy0f55pfd1u345&PingId=m5j5xa550y4dmrqfrsfmczua
Run Code Online (Sandbox Code Playgroud)

我们不仅注意到性能问题,而且最终IE浏览器只是疯了,我认为这是由于达到2083字符URL max(大约20个链接点击).

我找不到有关PingId是什么或它的目的是什么的信息.我相信它就像一个GUID,跟踪你所做的事情,允许你从报告中钻回来.也许GUID是传递给子报告的变量的表示,我不知道.有没有办法在点击子报表时删除URL或删除RS正在执行的跟踪?我所知道的是它让我们头疼.

提前致谢.

dta*_*o04 5

我找到了解决问题的方法......这并没有解释PingId是什么以及为什么它在增长.而不是将字段的动作设置为"跳转到报告",而是将其更改为"跳转到网址".然后我创建了一个公式(见下文),它将用户带回原始报告,传递所需的参数.这会更改报告的查看方式(请注意它是ReportServer/Pages与Reports/Pages).我发现这篇文章很有帮助:http://dobrzanski.net/2008/08/11/reporting-services-problem-with-passing-parameters-directly-in-the-url/

http://rs/ReportServer/Pages/ReportViewer.aspx?%2fDepartment+Reports%2fOperations%2f.Receiving+Stuff%2fPaperless+Receiving&rs:Command=Render&po_number="&Fields!po_number.Value
Run Code Online (Sandbox Code Playgroud)