SSRS获取远程报告的元数据

时间:2009-05-04 03:40:46

标签: asp.net sql-server reporting-services metadata

如何从远程SSRS报告中检索元数据,例如描述,修改/创建日期等。报告本身在aspx页面上的ReportViewer控件中没有显示任何问题,因此我可以访问报告...

.ServerReport对象中似乎没有任何属性...

谢谢堆!

1 个答案:

答案 0 :(得分:0)

有两种方法,一种方法是将Web引用添加到报表服务器的Web服务接口并调用GetReportDefinition方法。更多信息:

http://msdn.microsoft.com/en-us/library/aa258101(SQL.80).aspx

代码可能如下所示:


ReportingService reportingService = new ReportingService();

XmlDocument xmlDocument = null;

byte[] reportDefinition = reportingService.GetReportDefinition(ReportName);

using (MemoryStream memoryStream = new MemoryStream(reportDefinition))
{
    xmlDocument = new XmlDocument();
    xmlDocument.Load(memoryStream);
}

这将获取您可以使用XML工具解析的.rdl文件。您还可以通过SQL / ADO / Linq调用SSRS数据库中的表来获取您所需的信息:

针对报告服务数据库的T-SQL的一些很好的例子:

http://www.purplefrogsystems.com/blog/?p=13

您所访问的所有信息可能不在一个位置,例如,某些信息可能位于.rdl中,而某些信息可能位于SQL Server数据库中。

{6230289B-5BEE-409e-932A-2F01FA407A92}