SQL Reporting Services问题 - 适用于SQL Server 2008。
鉴于SQL Server Reporting Services具有可用于安排SQL Reports运行的调度程序,是否有人知道以编程方式(通过C#)从报表服务器读取报表的历史记录(然后可能检索结果报告)?
因此,在进行了一些挖掘之后,看起来我需要为Report Server生成WSDL,然后使用ReportingService对象访问信息 - 有没有人在之前(使用2008)完成此操作并且可以提供一些指示?
注意:看起来(根据SQL 2008在线书籍)SQL 2008的WSDL地址是:
http://server/reportserver/ReportService2005.asmx?wsdl
如果我可以使用它,我会发布一个实现它的基本步骤的答案:)这有点令人困惑,因为文档是SQL 2000和SQL 2005引用的混合!
答案 0 :(得分:2)
好的,所以我实际上已经想出如何完成这个看似不可能完成的任务。
在开始之前,我要说的是,如果您正在使用SQL Server Reporting Services 2008(SSRS 08)并且有(即您别无选择)使用Basic auth之类的东西,那么只会通过基于WCF的Service Stubs& amp;找到一个受伤的世界。 IIS。我稍后将在博客上发布关于配置的文章。
简短回答如下:
注意:使用旧的(pre-WCF)ASMX服务更容易,但使用新的CF版本并非不可能。身份验证需要一些配置。版本之间也有一些轻微的语法变化。
现在,使用ReportViewer呈现历史报告,就像其他任何报告一样,例如:
ReportViewer rv = new ReportViewer();
rv.ProcessingMode = ProcessingMode.Remote;
rv.ServerReport.ReportServerUrl = new Uri(@“http://localhost/reportserver”);
rv.ServerReport.ReportPath = @“/ Reports / MyHandyReport”;
rv.ServerReport.HistoryId = historyId;
//...snip
byte [] bytes = rv.ServerReport.Render(“Excel”,null,out mimeType,out encoding,out extension,out streamids,out warnings);
注意:您还可以使用第二个WCF Web服务(ReportExecution2005.asmx?wsdl)以及报告执行
答案 1 :(得分:1)
它有soap和可扩展性API,也许可以使用它们?