“请注意,他们不想要一份包含所有报告的报告,这些是已经构建的单独报告,他们希望每个报告一个文件/窗口。”
当你说你想要它们一次但一个文件窗口/每个报告时,不确定你想要什么?什么表示层正在显示这个?您可以同时对 Web 服务而不是托管站点进行三个单独的 Web 调用:
h ttp://(servername)/(ReportServer)/PathtoReport1
h ttp://(servername)/(ReportServer)/PathtoReport2
h ttp://(servername)/(ReportServer)/PathtoReport3
代替
h ttp://(服务器名称)/(报告)
如果您只是指 Excel 工作簿上的“单独页面”,您可以使用嵌套其他子报表的一个报表来做到这一点。您可以构建一个包含将页面定义为其属性的矩形对象的主报表,并在每个矩形中放置一个子报表。
或者,您可以制作一个 html 页面,该页面在执行“发布”命令的 HTML 的“表单”对象中分别引用三个调用。
< Form id="SSRSRender" action="http://(servername)/(reportServer)/(report) method="post" target="self">
“但是,他们还希望选择将报告保存到他们选择的文件共享或 Sharepoint,而不是为每个报告弹出一堆浏览器窗口。
我知道我可以使用 SSRS Web 服务来设置一个计划(从请求时间开始在几分钟内运行),它可以将这些文件保存到文件共享(或 Sharepoint),但这似乎是一种获得一次性生成的技巧报告到文件共享或共享点。”
这不是 hack,保存文件的首选方法是使用内置的 Web 服务调度程序。托管报告后(在托管 SSRS 的服务器上),它可以为 SMTP 发送、文件保存和制作快照设置配置。
如果这还不够,您可以在 C# 或 VB.NET 中创建自己的代理类,并尝试构建自己的前端,通过对 Web 服务的 SOAP 请求与 SSRS 对话。