使用TeamCity部署SSRS 2008 R2报告项目

时间:2012-03-22 02:49:23

标签: reporting-services teamcity

我们希望将SSRS 2008 R2项目集成到自动构建流程中。目前,TeamCity每周三次构建和部署我们的C#代码库。我们想将SSRS报告项目添加到其中。 RDL文件当前位于Subversion源代码控制存储库中。

1 个答案:

答案 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);
     }
}