Partager via


Méthode GetReportDefinition

Récupère la définition de rapport pour un rapport.

Espace de noms :  ReportService2005
Assembly :  ReportService2005 (en ReportService2005.dll)

Syntaxe

'Déclaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportDefinition", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function GetReportDefinition ( _
    Report As String _
) As Byte()
'Utilisation
Dim instance As ReportingService2005
Dim Report As String
Dim returnValue As Byte()

returnValue = instance.GetReportDefinition(Report)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportDefinition", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public byte[] GetReportDefinition(
    string Report
)
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportDefinition", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<unsigned char>^ GetReportDefinition(
    String^ Report
)
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/GetReportDefinition", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member GetReportDefinition : 
        Report:string -> byte[] 
public function GetReportDefinition(
    Report : String
) : byte[]

Paramètres

Valeur de retour

Type : array<System. . :: . .Byte> [] () [] []
Définition de rapport en tant que tableau d'octets encodé en base 64. Pour plus d'informations sur ce type de données, consultez la section « Byte Structure » (Structure des octets) dans la documentation qui accompagne Microsoft .NET Framework.

Notes

The table below shows header and permissions information on this operation.

SOAP Headers

(Out) ServerInfoHeaderValue

Required Permissions

ReadReportDefinition

Exemples

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example uses the GetReportDefinition method to retrieve the definition of a report and store it as an XML document in the local file system:

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