2012-08-07 193 views
14

我的SQL Server 2008报表服务,当我打开以下网址:生成URL报告 - SQL Server报告服务2008

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

我越来越报告屏幕中,我填补我的参数并生成报告,

我的问题是我怎么能做到这一点没有任何GUI?通过批处理文件或C#脚本..

在此先感谢。

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

编辑:

感谢所有的答案上面我成功生成报告

“HTTP:?//Server/ReportServer/Pages/ReportViewer.aspx someReport & DFROM = 01/01/2012 & DTO = 08/08/2012 &,并使用下面的链接将其保存为XML RS%3AFormat = XML “

谢谢大家!

+0

您需要将此应用到的reportserver不报告页面。 http:// server/reportserver – JonH 2012-08-07 14:52:18

+0

你有没有试过我发布的内容 - 我确定这是你的问题。 – JonH 2012-08-07 16:10:42

回答

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/

+0

什么我这个URL错误行为: HTTP://win-t8o9hquvjcf/Reports/Pages/Report.aspx ItemPath =%2fDatasheetforOMManual&ProjectReference = 65656 它只是停留空白 – Crezzer7 2014-09-11 12:54:17

+0

你的第一个参数应以启动?不是&。它的任何附加参数都需要一个&。 – JonH 2014-09-11 13:03:10

+0

我得到这个,如果我使用? '/ DatasheetforOMManual?ProjectReference = 65656'无效。 – Crezzer7 2014-09-11 13:04:25

0
string URL = "YourReportUrl";  
string FullURL = URL + "&JobId=" + JobId.ToString() + "&JobNumber=" + JobNo.ToString() + "&rs%3aCommand=Render"; 

JobIdJobNumber将是你的参数名称。 这将直接在您的报告查看器中打开。

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

string FullURL = URL + "&JobId=" + JobId.ToString() + "&JobNumber=" + JobNo.ToString() + "&rs%3aCommand=Render&rs%3AFormat=XML"; 
+0

@DorCohen。我编辑了我的回复。 – 2012-08-07 13:35:40

+0

你试过了什么? – 2012-08-07 14:26:51

+0

尝试不带引号与您的第一个选项。另请参阅此链接了解Date参数的更多信息 - http://msdn.microsoft.com/en-us/library/ms155064 – 2012-08-07 14:38:18

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 

Additionaly,如果你要导出可以追加&rs:command=render&rs:format=PDF与格式替换PDF文件,你的愿望

0

以下是为报告使用URL的示例。它传递参数,还可以指定参数是否应该被隐藏或不

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

如果使用HTML文件来显示这是,然后使用

window.location.href = url;