14

我有 SQL Server Reporting Services 2008,当我打开以下 URL 时:

“http://localhost/Reports/Pages/Report.aspx?someReport”

我得到报告屏幕,我在其中填写参数并生成报告,

我的问题是如何在没有任何 GUI 的情况下做到这一点?通过批处理文件或 C# 脚本..

提前致谢。

==================================================== ========================

编辑:

感谢以上所有答案,我成功生成报告并将其保存为 XML 使用以下链接:

“http://Server/ReportServer/Pages/ReportViewer.aspx?someReport&dFrom=01/01/2012&dTo=08/08/2012&rs%3AFormat=XML”

谢谢大家!!!

4

4 回答 4

16

您的问题是您正在将参数传递给http://server/reports... 您需要将参数传递给http://server/reportserver...

我记得我第一次开始使用 Reporting Services 时遇到的这个问题。

这是可以帮助您的 MSDN:http: //msdn.microsoft.com/en-us/library/ms155391.aspx

For example, to specify two parameters, “ReportMonth” and “ReportYear”, defined in a 
report, use the following URL for a native mode report server:

http://myrshost/ReportServer?/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2&ReportMonth=3&ReportYear=2008

结果是这样的:

http://myRSServer/ReportServer/Pages/Report.aspx?%2fDefaultTenant%2fDialing+Reports%2fDialing+Agent+Performance&dFrom=01/01/2012&dTo=08/08/2012

如果要将报告导出到 excel / pdf / 等,您可以附加它:

对于excel:&rs:Format=Excel

对于 PDF:&rs:Format=PDF

这也应该有所帮助:http ://www.mssqltips.com/sqlservertip/1336/pass-parameters-and-options-with-a-url-in-sql-reporting-services/

于 2012-08-07T14:54:44.690 回答
1

您的第二个 URL 选项是最接近的,您传递不带引号的日期参数。正如 JonH 所说,您想使用ReportServer而不是Reports,并且您还想删除ItemPath=

http://Server/ReportServer/Pages/Report.aspx?%2fDefaultTenant%2fDialing+Reports%2fDialing+Agent+Performance&dFrom=01/01/2012&dTo=08/08/2012

另外,如果您想导出文件,您可以附加&rs:command=render&rs:format=PDF替换 PDF 为您想要的格式

于 2012-08-07T15:20:05.823 回答
0
string URL = "YourReportUrl";     
string FullURL = URL + "&JobId=" + JobId.ToString() + "&JobNumber=" + JobNo.ToString() + "&rs%3aCommand=Render";

您的参数名称在哪里JobId以及JobNumber将是。这将直接在您的报告查看器中打开。

要以 XML 格式显示,请将其添加&rs%3AFormat=XML到 URL 的末尾。

string FullURL = URL + "&JobId=" + JobId.ToString() + "&JobNumber=" + JobNo.ToString() + "&rs%3aCommand=Render&rs%3AFormat=XML";
于 2012-08-07T12:59:11.580 回答
0

以下是使用 URL 生成报告的示例。它传递参数并指定参数是否应该隐藏

http://myServer/ReportServer/Pages/ReportViewer.aspx?/InventoryTracking/Receiving/InboundContainerID
&rs:Command=Render&rc:Parameters=false&Plant="20"

如果使用 HTML 文件来显示这个,那么使用

window.location.href = url;
于 2014-04-16T15:04:57.830 回答