2012-03-22 85 views
8

我们希望将我们的SSRS 2008 R2项目整合到我们的自动构建过程中。目前TeamCity每周三次构建并部署我们的C#代码库。我们希望将SSRS报告项目添加到该项目中。 RDL文件当前位于Subversion源代码控制库中。使用TeamCity部署SSRS 2008 R2报告项目

回答

4

您可以使用Report Server Web Service来实现此目的。它有CreateItem上传报告给Reporting Service的方法。

若要在上传您需要为您的ReportService2010.asmx端点创建proxy class然后用RDL文件创建C#项目是这样的:

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