Для этой цели вы можете использовать Веб-служба сервера отчетов .Он имеет CreateItem метод, который загружает отчет в службу отчетов.
Чтобы создать проект C #, который загружает файлы rdl, вам необходимо создать прокси-класс для конечной точки ReportService2010.asmxа затем использовать это так:
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);
}
}