ReportingService2006.CreateReport Metodo

Definizione

Aggiunge un nuovo report a una libreria raccolta di SharePoint.

public:
 ReportService2006::CatalogItem ^ CreateReport(System::String ^ Report, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2006::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2006::Warning ^> ^ % Warnings);
public ReportService2006.CatalogItem CreateReport(string Report, string Parent, bool Overwrite, byte[] Definition, ReportService2006.Property[] Properties, out ReportService2006.Warning[] Warnings);
member this.CreateReport : string * string * bool * byte[] * ReportService2006.Property[] * Warning[] -> ReportService2006.CatalogItem
Public Function CreateReport (Report As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem

Parametri

Report
String

Il nome del nuovo report include il nome del file e l'estensione del nome file .rdl.

Parent
String

L'URL completamente qualificato per la cartella genitore che conterrà il report.

Overwrite
Boolean

Un'espressione Boolean che indica se un report esistente con lo stesso nome nella posizione specificata deve essere sovrascritto.

Definition
Byte[]

La definizione del report da pubblicare al server di report, che è il contenuto di un file .rdl. I dati XML sono definiti dal http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Linguaggio di Definizione del Report .

Properties
Property[]

Un array di Property oggetti che contiene i nomi delle proprietà e i valori da impostare per il report.

Warnings
Warning[]

[fuori] Un array di Warning oggetti che descrive eventuali avvisi avvenuti quando la definizione del report è stata validata.

Valori restituiti

Un CatalogItem oggetto per il report appena creato.

Esempio

using System;  
using System.Collections.Generic;  
using System.IO;  
using System.Text;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  

class Sample  
{  
    static void Main(string[] args)  
    {  
        ReportingService2006 rs = new ReportingService2006();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2006.asmx";  
        rs.Credentials =   
            System.Net.CredentialCache.DefaultCredentials;  

        Byte[] definition = null;  
        Warning[] warnings = null;  
        string name = "MyReport.rdl";  

        try  
        {  
            FileStream stream = File.OpenRead("MyReport.rdl");  
            definition = new Byte[stream.Length];  
            stream.Read(definition, 0, (int)stream.Length);  
            stream.Close();  
        }  
        catch (IOException e)  
        {  
            Console.WriteLine(e.Message);  
        }  

        try  
        {  
            string parent = "http://<Server Name>/Docs/Documents/";  
            CatalogItem report = rs.CreateReport(name, parent,  
                        false, definition, null, out warnings);  

            if (warnings != null)  
            {  
                foreach (Warning warning in warnings)  
                {  
                    Console.WriteLine(warning.Message);  
                }  
            }  

            else  
                Console.WriteLine("Report: {0} created successfully " +  
                                  " with no warnings", name);  
        }  
        catch (SoapException e)  
        {  
            Console.WriteLine(e.Detail.InnerXml.ToString());  
        }  
    }  
}  
Imports System  
Imports System.IO  
Imports System.Text  
Imports System.Web.Services  
Imports System.Web.Services.Protocols  

Class Sample  

    Public Shared Sub Main()  

        Dim rs As New ReportingService2006()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2006.asmx"  
        rs.Credentials = _  
            System.Net.CredentialCache.DefaultCredentials  

        Dim definition As [Byte]() = Nothing  
        Dim warnings As Warning() = Nothing  
        Dim name As String = "MyReport.rdl"  

        Try  
            Dim stream As FileStream = File.OpenRead("MyReport.rdl")  
            definition = New [Byte](stream.Length - 1) {}  
            stream.Read(definition, 0, CInt(stream.Length))  
            stream.Close()  

        Catch e As IOException  
            Console.WriteLine(e.Message)  
        End Try  

        Try  
            Dim parentPath As String = _  
                "http://<Server Name>/Docs/Documents/"  
            rs.CreateReport(name, parentPath, False, _  
                definition, Nothing, warnings)  

            If Not (warnings Is Nothing) Then  
                Dim warning As Warning  
                For Each warning In warnings  
                    Console.WriteLine(warning.Message)  
                Next warning  

            Else  
                Console.WriteLine("Report: {0} created " + _  
                    "successfully with no warnings", name)  
            End If  

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

    End Sub  

End Class  

Commenti

La tabella sottostante mostra informazioni sull'intestazione e sui permessi di questa operazione.

Intestazioni SOAP (Dentro) TrustedUserHeaderValue

(Fuori) ServerInfoHeaderValue
Autorizzazioni necessarie Creare un nuovo report: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> su Parent E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> su fonti di dati e dataset definiti in Definition

Aggiornamento di un report esistente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> su Report E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sulle fonti di dati e dataset definiti in Definition

La lunghezza del Parent parametro non può superare i 260 caratteri; altrimenti, viene lanciata un'eccezione SOAP con il codice di errore rsItemLengthExceeded.

Il Parent parametro non può essere nullo o vuoto né contenere i seguenti caratteri riservati: : ? ; @ & = + $ , \ * > < | . ". Puoi usare il carattere a barra avanzata (/) per separare gli elementi nel nome completo del percorso della cartella, ma non puoi usarlo alla fine del nome della cartella.

Se si verificano errori, il report non viene creato.

Aggiungere un report a una libreria raccolta di SharePoint modifica le ModifiedBy proprietà e ModifiedDate della cartella genitore.

Se l'estensione del nome file .rdl viene esclusa dal nome del report, verrà restituito un rsFileExtensionRequired errore.

Si applica a