Freigeben über


ReportingService2010.CreateCatalogItem Methode

Definition

Fügt einer Berichtsserver-Datenbank oder einer SharePoint-Bibliothek ein neues Element hinzu. Diese Methode gilt für die Elementtypen Report, Model, Dataset, Component, Resource und DataSource.

public:
 ReportService2010::CatalogItem ^ CreateCatalogItem(System::String ^ ItemType, System::String ^ Name, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2010::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2010::Warning ^> ^ % Warnings);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.CatalogItem CreateCatalogItem (string ItemType, string Name, string Parent, bool Overwrite, byte[] Definition, ReportService2010.Property[] Properties, out ReportService2010.Warning[] Warnings);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.CreateCatalogItem : string * string * string * bool * byte[] * ReportService2010.Property[] * Warning[] -> ReportService2010.CatalogItem
Public Function CreateCatalogItem (ItemType As String, Name As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem

Parameter

ItemType
String

Der Elementtyp.

Name
String

Der Name des neuen Elements einschließlich der Dateierweiterung im SharePoint-Modus.

Parent
String

Die vollqualifizierte URL des übergeordneten Ordners, der das Element enthält.

Overwrite
Boolean

Ein Boolean-Ausdruck, der angibt, ob ein vorhandenes Element mit dem gleichen Namen am angegebenen Speicherort überschrieben werden soll.

Definition
Byte[]

Der Inhalt der RDL-Berichtsdefinition, Berichtsmodelldefinition oder Ressource, der auf dem Berichtsserver veröffentlicht werden soll.

Properties
Property[]

Ein Array von Property-Objekten, das die Eigenschaftennamen und die Werte enthält, die für das Element festgelegt werden sollen.

Warnings
Warning[]

[out] Ein Array von Warning-Objekten, das alle Warnungen beschreibt, die bei der Validierung des Elements ausgegeben wurden.

Gibt zurück

Ein CatalogItem-Objekt für das neu erstellte Element.

Attribute

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)  
    {  
        ReportingService2010 rs = new ReportingService2010();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2010.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.CreateCatalogItem("Report", 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 ReportingService2010()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2010.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.CreateCatalogItem("Report", 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

In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.

SOAP-Headerverwendung (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Erforderliche Berechtigungen für den einheitlichen Modus Hängt vom Elementtyp ab:

- Report
Erstellen eines neuen Berichts: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasets
Aktualisieren eines vorhandenen Berichts: UpdateReportDefinition on Item (if Properties contains properties) AND UpdateProperties on Item AND on AND UpdateProperties on the report's data sources AND on UpdateProperties the report's datasets
- DataSet
Erstellen eines neuen freigegebenen Datasets: CreateReport on Parent AND ReadProperties on den Datenquellen des Datasets
Aktualisieren eines vorhandenen freigegebenen Datasets: on AND on Item (if contains properties) AND on (if Properties contains properties) AND UpdateProperties on the dataset's UpdateProperties data sources ItemUpdateReportDefinition
- Resource, Component:
Erstellen eines neuen Elements: CreateResource on Parent
Aktualisieren eines vorhandenen Elements: UpdateContent on Item
Aktualisieren von Elementeigenschaften: UpdateContent AND UpdateProperties on Item
- DataSource:
Erstellen einer neuen Datenquelle: CreateDatasource on Parent
Aktualisieren einer vorhandenen Datenquelle: UpdateContent
Aktualisieren der Datenquelleneigenschaften: UpdateContent AND UpdateProperties
- Model: CreateModel
Erforderliche Berechtigungen im SharePoint-Modus Hängt vom Elementtyp ab:

- Report
Erstellen eines neuen Berichts: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources and datasets defined in Definition
Aktualisieren eines vorhandenen Berichts: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on für Datenquellen und Datasets, die in Definition AND Item<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> definiert sind (wenn Properties Eigenschaften enthält)
- DataSet
Erstellen eines neuen freigegebenen Datasets: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources defined in Definition
Aktualisieren eines vorhandenen freigegebenen Datasets: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on für datenquellendefiniert in<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definitionon Item (wenn Properties Eigenschaften enthält)
- Resource, DataSource, Component:
Erstellen eines neuen Elements: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent
Aktualisieren eines vorhandenen Elements: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> auf Parent

Mit dieser Methode können Elemente aller unterstützten Elementtypen erstellt werden. Verwenden Sie die ListItemTypes -Methode, um zu sehen, welche Elementtypen unterstützt werden.

Der Model Elementtyp kann nicht überschrieben werden. Daher muss der Overwrite Parameter sein False , wenn ItemType ist Model. Andernfalls wird eine rsInvalidParameterCombination-Ausnahme ausgelöst.

Wenn ItemType ist Report, werden die XML-Daten durch die Berichtsdefinitionssprache definiert. Wenn ItemType ist Model, werden die XML-Daten von der Definitionssprache des semantischen Modells definiert.

Wenn Fehler auftreten, wird das Element nicht erstellt.

Durch das Hinzufügen eines Elements zu einer Berichtsserver-Datenbank oder SharePoint-Bibliothek werden die ModifiedBy Eigenschaften und ModifiedDate des übergeordneten Ordners geändert.

Wenn die entsprechende Dateinamenerweiterung (z. B. .rdl) vom Elementnamen ausgeschlossen wird, wird ein rsFileExtensionRequired Fehler zurückgegeben.

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

Der Parent Parameter darf nicht NULL oder leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . ". Sie können den Schrägstrich (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber Sie können ihn nicht am Ende des Ordnernamens verwenden.

Gilt für: