Share via


ReportingService2005.GetReportDefinition(String) 方法

定义

检索报表的报表定义。

public:
 cli::array <System::Byte> ^ GetReportDefinition(System::String ^ Report);
public byte[] GetReportDefinition (string Report);
member this.GetReportDefinition : string -> byte[]
Public Function GetReportDefinition (Report As String) As Byte()

参数

Report
String

报表的完整路径名。

返回

Byte[]

以 Base 64 编码格式的字节数组表示的报表定义。 有关这种数据类型的详细信息,请参阅 Microsoft .NET Framework 文档中的“字节结构”。

示例

若要编译此代码示例,必须引用 Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例使用 GetReportDefinition 方法检索报表的定义,并将其作为 XML 文档存储在本地文件系统中:

Imports System  
Imports System.IO  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim reportName As String = "/SampleReports/Company Sales"  
      Dim reportDefinition As Byte() = Nothing  
      Dim doc As New System.Xml.XmlDocument  

      Try  
         reportDefinition = rs.GetReportDefinition(reportName)  
         Dim stream As New MemoryStream(reportDefinition)  

         doc.Load(stream)  
         doc.Save("C:\Company Sales.rdl")  

      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  

      Catch e As IOException  
         Console.WriteLine(e.Message)  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.IO;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      string reportName = "/SampleReports/Company Sales";  
      byte[] reportDefinition = null;  
      System.Xml.XmlDocument doc = new System.Xml.XmlDocument();  

      try  
      {  
         reportDefinition = rs.GetReportDefinition(reportName);  
         MemoryStream stream = new MemoryStream(reportDefinition);  

         doc.Load(stream);  
         doc.Save(@"C:\Company Sales.rdl");  
      }  

      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.InnerXml.ToString());   
      }  

      catch (IOException e)  
      {  
         Console.WriteLine(e.Message);  
      }  
   }  
}  

注解

下表显示了有关此操作的标头和权限信息。

SOAP 标头 (Out) ServerInfoHeaderValue
所需的权限 ReadReportDefinition

适用于