Udostępnij za pośrednictwem


Metoda ReportExecutionService.Render

Przetwarza określonego raportu i czyni to w określonym formacie.

Przestrzeń nazw:  ReportExecution2005
Zestaw:  ReportExecution2005 (w ReportExecution2005.dll)

Składnia

'Deklaracja
<SoapHeaderAttribute("ExecutionHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", 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("TrustedUserHeaderValue")> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function Render ( _
    Format As String, _
    DeviceInfo As String, _
    <OutAttribute> ByRef Extension As String, _
    <OutAttribute> ByRef MimeType As String, _
    <OutAttribute> ByRef Encoding As String, _
    <OutAttribute> ByRef Warnings As Warning(), _
    <OutAttribute> ByRef StreamIds As String() _
) As Byte()
'Użycie
Dim instance As ReportExecutionService
Dim Format As String
Dim DeviceInfo As String
Dim Extension As String
Dim MimeType As String
Dim Encoding As String
Dim Warnings As Warning()
Dim StreamIds As String()
Dim returnValue As Byte()

returnValue = instance.Render(Format, _
    DeviceInfo, Extension, MimeType, _
    Encoding, Warnings, StreamIds)
[SoapHeaderAttribute("ExecutionHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", 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("TrustedUserHeaderValue")]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public byte[] Render(
    string Format,
    string DeviceInfo,
    out string Extension,
    out string MimeType,
    out string Encoding,
    out Warning[] Warnings,
    out string[] StreamIds
)
[SoapHeaderAttribute(L"ExecutionHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", 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"TrustedUserHeaderValue")]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<unsigned char>^ Render(
    String^ Format, 
    String^ DeviceInfo, 
    [OutAttribute] String^% Extension, 
    [OutAttribute] String^% MimeType, 
    [OutAttribute] String^% Encoding, 
    [OutAttribute] array<Warning^>^% Warnings, 
    [OutAttribute] array<String^>^% StreamIds
)
[<SoapHeaderAttribute("ExecutionHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Render", 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("TrustedUserHeaderValue")>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member Render : 
        Format:string * 
        DeviceInfo:string * 
        Extension:string byref * 
        MimeType:string byref * 
        Encoding:string byref * 
        Warnings:Warning[] byref * 
        StreamIds:string[] byref -> byte[] 
public function Render(
    Format : String, 
    DeviceInfo : String, 
    Extension : String, 
    MimeType : String, 
    Encoding : String, 
    Warnings : Warning[], 
    StreamIds : String[]
) : byte[]

Parametry

  • Format
    Typ: System.String
    Format raportu renderowania.Argument ten jest mapowany na rozszerzenie renderowania.Obsługiwane rozszerzenia obejmują XML, NULL, CSV, obraz, PDF, HTML4.0, HTML3.2, MHTML, EXCEL i Word.Listy obsługiwanych rozszerzeń można otrzymać poprzez wywołanie ListRenderingExtensions metoda.
  • DeviceInfo
    Typ: System.String
    Ciąg XML zawierający zawartość specyficzne dla urządzenia wymagane przez rozszerzenie renderowania, określone w Format parametru.Ustawienia DeviceInfo musi być przekazany jako wewnętrznych elementów element DeviceInfo XML.Aby uzyskać więcej informacji na temat urządzenia ustawienia informacji dla formatów wyjściowych określonych Zobacz ustawienia informacji urządzenia fe718939-7efe-4c7f-87cb-5f5b09caeff4.
  • Extension
    Typ: System.String%
    [Brak] Rozszerzenie pliku odpowiadające strumień wyjściowy.
  • MimeType
    Typ: System.String%
    [Brak] Typ MIME renderowany raport.
  • Encoding
    Typ: System.String%
    [Brak] Kodowanie używane, gdy serwer raportów renderowania zawartości raportu.
  • Warnings
    Typ: array<ReportExecution2005.Warning[]%
    [Brak] Tablica Warning obiektów, które opisano wszystkie ostrzeżenia, które wystąpiły podczas przetwarzania raportu.
  • StreamIds
    Typ: array<System.String[]%
    [Brak] Identyfikatory strumienia.Identyfikatory te są przekazywane do RenderStream metoda.Można ich używać do renderowania zasobów zewnętrznych (obrazy, itp.), które są skojarzone z danego raportu.
    Jeśli obraz rozszerzenie renderowania jest używana, metoda wyprowadza pustą tablicę w StreamIds.

Wartość zwracana

Typ: array<System.Byte[]
A Byte [ tablicy raport w określonym formacie.

Uwagi

W poniższej tabela przedstawiono informacje nagłówka i uprawnienia na tej operacji.

Użycie nagłówek protokołu SOAP

(W)TrustedUserHeaderValue

(W)ExecutionHeaderValue

(Ruch wychodzący)ServerInfoHeaderValue

Tryb macierzysty wymagane uprawnienia

Raport główny i wszystkie podraporty: ReadProperties ORAZ ExecuteAndView

Tryb programu SharePoint wymagane uprawnienia

Raport główny i wszystkie podraporty: ViewListItems()

Renderrenderuje przetworzonych raporcie skojarzonym z wykonanie sprawozdanie, określone w ExecutionInfo nagłówka.Jeśli nie tymczasowe migawka raportu przetworzonych w trakcie wykonywania, Metoda ta będzie wykonywał raportu (jeśli są spełnione wszystkie wymagania poświadczeń i parametrów), wynikające migawka tymczasowy tworzony dla stanu wykonać.Jeśli raport jest ponownie przetwarzany, ponieważ wartości parametrów kwerendy nie zostały zmienione, jest tworzona nowa migawka tymczasowe.Więcej informacji na temat stanu wykonania, zobacz Identyfikowanie stan wykonywania.

Jeśli opcje wykonanie są zestaw do pamięci podręcznej lub wykonanie migawka, wywołanie Render mogą używać istniejących migawka.

Jeśli raport jest zestaw do pamięci podręcznej i podanej wartości parametru, a poświadczenia zgodności, buforowaną kopię migawka mogą być ładowane zamiast faktycznie przetwarzania raportu.

Jeśli nie są spełnione wymagania poświadczeń i parametr, ta metoda zwróci błąd.

Kolejne wywołania Render można pobrać dodatkowe strony raportu, jeśli rozszerzenie renderowania obsługuje Określanie wielu stron.

Ograniczenia metoda renderowania jest, że dane wyjściowe nie strumieniowo, więc całego pliku w pamięci.

Zobacz Identyfikowanie stan wykonywania dla dyskusji wykonanie cyklu życia, które zawiera opis kroków niezbędnych do ładowania i renderowania raportu.

Przykłady

Aby skompilować poniższy przykład kodu, należy odwołać Reporting Services WSDL oraz przywozu niektórych obszarów nazw.Aby uzyskać więcej informacji, zobacz temat Compiling and Running Code Examples.Poniższy przykład kodu renderuje raportu w MHTML i zapisze go jako plik .mht na dysku.

Imports System
Imports System.IO
Imports System.Web.Services.Protocols
Imports myNamespace.MyReferenceName

Class Sample
    Public Shared Sub Main()
        Dim rs As New ReportExecutionService()
        rs.Credentials = System.Net.CredentialCache.DefaultCredentials
        rs.Url = "http://myserver/reportserver/ReportExecution2005.asmx"

        ' Render arguments
        Dim result As Byte() = Nothing
        Dim reportPath As String = "/AdventureWorks Sample Reports/Employee Sales Summary "
        Dim format As String = "MHTML"
        Dim historyID As String = Nothing
        Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

        ' Prepare report parameter.
        Dim parameters(2) As ParameterValue

        parameters(0) = New ParameterValue()
        parameters(0).Name = "EmpID"
        parameters(0).Value = "288"
        parameters(1) = New ParameterValue()
        parameters(1).Name = "ReportMonth"
        parameters(1).Value = "6" ' June
        parameters(2) = New ParameterValue()
        parameters(2).Name = "ReportYear"
        parameters(2).Value = "2004"

        Dim credentials As DataSourceCredentials() = Nothing
        Dim showHideToggle As String = Nothing
        Dim encoding As String = ""
        Dim mimeType As String = ""
        Dim warnings As Warning() = Nothing
        Dim reportHistoryParameters As ParameterValue() = Nothing
        Dim streamIDs As String() = Nothing

        Dim execInfo As New ExecutionInfo
        Dim execHeader As New ExecutionHeader()
        Dim SessionId As String
        Dim extension As String = ""

        rs.ExecutionHeaderValue = execHeader

        execInfo = rs.LoadReport(reportPath, historyID)

        rs.SetExecutionParameters(parameters, "en-us")

        SessionId = rs.ExecutionHeaderValue.ExecutionID
        Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)


        Try
            result = rs.Render(format, devInfo, extension, _
               encoding, mimeType, warnings, streamIDs)

            execInfo = rs.GetExecutionInfo()

            Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


        Catch e As SoapException
            Console.WriteLine(e.Detail.OuterXml)
        End Try

        ' Write the contents of the report to an MHTML file.
        Try
            Dim stream As FileStream = File.Create("report.mht", result.Length)
            Console.WriteLine("File created.")
            stream.Write(result, 0, result.Length)
            Console.WriteLine("Result written to the file.")
            stream.Close()
        Catch e As Exception
            Console.WriteLine(e.Message)
        End Try
    End Sub 'Main
End Class
using System;
using System.IO;
using System.Web.Services.Protocols;
using myNamespace.MyReferenceName;

class Sample
{
    static void Main(string[] args)
    {
        ReportExecutionService rs = new ReportExecutionService();
        rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
        rs.Url = "http://myserver/reportserver/ReportExecution2005.asmx";

        // Render arguments
        byte[] result = null;
        string reportPath = "/AdventureWorks Sample Reports/Employee Sales Summary";
        string format = "MHTML";
        string historyID = null;
        string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";

        // Prepare report parameter.
        ParameterValue[] parameters = new ParameterValue[3];
        parameters[0] = new ParameterValue();
        parameters[0].Name = "EmpID";
        parameters[0].Value = "288";
        parameters[1] = new ParameterValue();
        parameters[1].Name = "ReportMonth";
        parameters[1].Value = "6"; // June
        parameters[2] = new ParameterValue();
        parameters[2].Name = "ReportYear";
        parameters[2].Value = "2004";

        DataSourceCredentials[] credentials = null;
        string showHideToggle = null;
        string encoding;
        string mimeType;
        string extension;
        Warning[] warnings = null;
        ParameterValue[] reportHistoryParameters = null;
        string[] streamIDs = null;
        
        ExecutionInfo execInfo = new ExecutionInfo();
        ExecutionHeader execHeader = new ExecutionHeader();

        rs.ExecutionHeaderValue = execHeader;

        execInfo = rs.LoadReport(reportPath, historyID);

        rs.SetExecutionParameters(parameters, "en-us"); 
        String SessionId = rs.ExecutionHeaderValue.ExecutionID;

        Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID);


        try
        {
            result = rs.Render(format, devInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs);

            execInfo = rs.GetExecutionInfo();

            Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime);


        }
        catch (SoapException e)
        {
            Console.WriteLine(e.Detail.OuterXml);
        }
        // Write the contents of the report to an MHTML file.
        try
        {
            FileStream stream = File.Create("report.mht", result.Length);
            Console.WriteLine("File created.");
            stream.Write(result, 0, result.Length);
            Console.WriteLine("Result written to the file.");
            stream.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }

    }
}