Sprache

ReportingService2006.CreateReport Methode

Definition

Fügt einen neuen Bericht zu einer SharePoint Library hinzu.

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

Parameter

Report
String

Der Name des neuen Berichts, einschließlich Dateiname und .rdl-Dateiendung.

Parent
String

Die vollständig qualifizierte URL für den übergeordneten Ordner, der den Bericht enthalten wird.

Overwrite
Boolean

Ein Ausdruck, der angibt, ob ein bestehender Bericht mit demselben Namen an der angegebenen Boolean Stelle überschrieben werden sollte.

Definition
Byte[]

Die Berichtsdefinition zur Veröffentlichung auf dem Berichtsserver ist der Inhalt einer .rdl-Datei. Die XML-Daten werden durch die http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Report Definition Language definiert.

Properties
Property[]

Ein Array von Property Objekten, das die Eigenschaftsnamen und Werte enthält, die für den Bericht festgelegt werden.

Warnings
Warning[]

[aus] Ein Array von Warning Objekten, das alle Warnungen beschreibt, die bei der Validierung der Berichtsdefinition aufgetreten sind.

Gibt zurück

Ein CatalogItem Objekt für den neu erstellten Bericht.

Beispiele

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  

Hinweise

Die untenstehende Tabelle zeigt Header- und Berechtigungsinformationen zu dieser Operation.

SOAP-Überschriften (In) TrustedUserHeaderValue

(Aus) ServerInfoHeaderValue
Erforderliche Berechtigungen Erstellung eines neuen Berichts: über Parent UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> zu Datenquellen und Datensätzen, <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> definiert inDefinition

Aktualisierung eines bestehenden Berichts: über Report UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> zu Datenquellen und Datensätzen, <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> definiert inDefinition

Die Länge des Parameters Parent darf 260 Zeichen nicht überschreiten; andernfalls wird eine SOAP-Ausnahme mit dem Fehlercode rsItemLengthExceeds ausgelöst.

Der Parameter Parent kann weder null noch leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . ". Du kannst das Forward-Schrägstrichzeichen (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber am Ende des Ordnernamens kannst du es nicht verwenden.

Wenn Fehler auftreten, wird der Bericht nicht erstellt.

Das Hinzufügen eines Berichts zu einer SharePoint Library verändert die ModifiedBy Eigenschaften und ModifiedDate Eigenschaften des übergeordneten Ordners.

Wenn die Dateiendung .rdl aus dem Berichtsnamen ausgeschlossen wird, wird ein rsFileExtensionRequired Fehler zurückgegeben.

Gilt für: