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

適用於