我们希望将SSRS 2008 R2项目集成到自动构建流程中。目前,TeamCity每周三次构建和部署我们的C#代码库。我们想将SSRS报告项目添加到其中。 RDL文件当前位于Subversion源代码控制存储库中。
答案 0 :(得分:4)
您可以使用Report Server Web Service来实现此目的。它具有CreateItem方法,可将报告上传到Reporting Service。
要创建上传rdl文件的C#项目,您需要为ReportService2010.asmx端点创建proxy class,然后使用它是这样的:
ReportingService2010 reportingService = new ReportingService2010();
reportingService.Url = url + "/ReportService2010.asmx";
reportingService.Credentials = new System.Net.NetworkCredential(username, password, domain);
Microsoft.SqlServer.ReportingServices2010.Warning[] warnings = null;
using (FileStream reportStream = new FileStream("c:\\report.rdl",
FileMode.Open, FileAccess.Read))
{
using (MemoryStream ms = new MemoryStream())
{
reportStream.CopyTo(ms);
CatalogItem report = reportingService.CreateCatalogItem(
"Report",
"Report1",
"/",
true,
ms.ToArray(),
null,
out warnings);
}
}