ReportingService2010.CreateCatalogItem Methode

Definition

Fügt ein neues Element einer Berichtsserver-Datenbank oder SharePoint Library hinzu. Diese Methode gilt für die ReportTypen , Model, , ComponentDataset, Resource, und DataSource Gegenstände.

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 vollständig qualifizierte URL für den übergeordneten Ordner, der das Element enthalten wird.

Overwrite
Boolean

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

Definition
Byte[]

Die .rdl-Berichtsdefinition, Berichtsmodelldefinition oder Ressourceninhalt, die auf dem Berichtsserver veröffentlicht werden sollen.

Properties
Property[]

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

Warnings
Warning[]

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

Gibt zurück

Ein Objekt für den neu erstellten CatalogItem Gegenstand.

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

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

Verwendung von SOAP-Headern (In) TrustedUserHeaderValue

(Aus) ServerInfoHeaderValue
Erforderliche Berechtigungen im nativen Modus Hängt vom Gegenstandstyp ab:

- Report
Erstellung eines neuen Berichts CreateReport : über Parent UND ReadProperties zu den Datenquellen des Berichts UND ReadProperties zu den Datensätzen des Berichts
Aktualisierung eines bestehenden Berichts: UpdateReportDefinition auf (wenn Properties Eigenschaften enthält) UND UpdateProperties auf Item UND UpdateProperties auf den Datenquellen des Berichts UND UpdateProperties auf den Datensätzen Item des Berichts
- DataSet
Erstellung eines neuen gemeinsamen Datensatzes: CreateReport auf Parent UND ReadProperties auf den Datenquellen des Datensatzes
Aktualisierung eines bestehenden gemeinsamen Datensatzes: auf UND auf (wenn Properties Eigenschaften enthält) UND UpdateProperties auf den Datenquellen des Datensatzes ItemUpdatePropertiesItemUpdateReportDefinition
- Resource, Component:
Ein neues Element erstellen: CreateResource an Parent
Aktualisierung eines bestehenden Elements: UpdateContent auf Item
Aktualisierung der Gegenstandseigenschaften: UpdateContent UND UpdateProperties an Item
- DataSource:
Erstellung einer neuen Datenquelle: CreateDatasource auf Parent
Aktualisierung einer bestehenden Datenquelle: UpdateContent
Aktualisierung der Datenquelleneigenschaften: UpdateContent UND UpdateProperties
- Model: CreateModel
Erforderliche Berechtigungen im SharePoint-Modus Hängt vom Gegenstandstyp ab:

- Report
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: auf Item UND auf Datenquellen und Datensätzen, <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> die in Definition AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> auf Item definiert sind (wenn Properties Eigenschaften <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> enthält)
- DataSet
Erstellung eines neuen gemeinsamen Datensatzes: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> auf Parent UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> auf Datenquellen, definiert in Definition
Aktualisierung eines bestehenden gemeinsamen Datensatzes: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> auf Item UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> auf Datenquellen, die in auf Item definiert sind Definition<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> (wenn Properties Eigenschaften enthält)
- Resource, DataSource, Component:
Ein neues Element erstellen: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> an Parent
Aktualisierung eines bestehenden Elements: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> auf Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> auf Parent

Diese Methode kann Items aller unterstützten Artikeltypen erstellen. Um zu sehen, welche Item-Typen unterstützt werden, verwenden Sie die Methode ListItemTypes .

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

Ist ItemTypeReport, dann werden die XML-Daten durch die Report Definition Language definiert. Ist ItemTypeModel, dann werden die XML-Daten durch die Semantic Model Definition Language definiert.

Wenn Fehler auftreten, wird der Artikel nicht erstellt.

Das Hinzufügen eines Eintrags zu einer Berichtsserver-Datenbank oder SharePoint-Bibliothek verändert die ModifiedBy Eigenschaften und ModifiedDate Eigenschaften des übergeordneten Ordners.

Wenn die relevante Dateinamenserweiterung (zum Beispiel .rdl) aus dem Elementnamen ausgeschlossen wird, wird ein rsFileExtensionRequired Fehler zurückgegeben.

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.

Gilt für: