Udostępnij za pośrednictwem


Metoda ReportingService2010.CreateCatalogItem

Dodaje nowy element, aby baza danych serwer raportów lub w bibliotece programu SharePoint.Niniejsza metoda stosowana do raport, Model, Dataset, składnika, zasobów, i DataSource element typów.

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

Składnia

'Deklaracja
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", RequestNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function CreateCatalogItem ( _
    ItemType As String, _
    Name As String, _
    Parent As String, _
    Overwrite As Boolean, _
    Definition As Byte(), _
    Properties As Property(), _
    <OutAttribute> ByRef Warnings As Warning() _
) As CatalogItem
'Użycie
Dim instance As ReportingService2010
Dim ItemType As String
Dim Name As String
Dim Parent As String
Dim Overwrite As Boolean
Dim Definition As Byte()
Dim Properties As Property()
Dim Warnings As Warning()
Dim returnValue As CatalogItem

returnValue = instance.CreateCatalogItem(ItemType, _
    Name, Parent, Overwrite, Definition, _
    Properties, Warnings)
[SoapHeaderAttribute("TrustedUserHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public CatalogItem CreateCatalogItem(
    string ItemType,
    string Name,
    string Parent,
    bool Overwrite,
    byte[] Definition,
    Property[] Properties,
    out Warning[] Warnings
)
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
CatalogItem^ CreateCatalogItem(
    String^ ItemType, 
    String^ Name, 
    String^ Parent, 
    bool Overwrite, 
    array<unsigned char>^ Definition, 
    array<Property^>^ Properties, 
    [OutAttribute] array<Warning^>^% Warnings
)
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member CreateCatalogItem : 
        ItemType:string * 
        Name:string * 
        Parent:string * 
        Overwrite:bool * 
        Definition:byte[] * 
        Properties:Property[] * 
        Warnings:Warning[] byref -> CatalogItem 
public function CreateCatalogItem(
    ItemType : String, 
    Name : String, 
    Parent : String, 
    Overwrite : boolean, 
    Definition : byte[], 
    Properties : Property[], 
    Warnings : Warning[]
) : CatalogItem

Parametry

  • Name
    Typ: System.String
    Nazwa nowego element, łącznie z rozszerzeniem w trybie SharePoint.
  • Parent
    Typ: System.String
    Pełni kwalifikowany adres URL folderu nadrzędnego, który będzie zawierał element.
  • Overwrite
    Typ: System.Boolean
    A logiczna wyrażenie, która wskazuje, czy istniejące element czy ma taką samą nazwę w lokalizacji określona powinny zostać zastąpione.
  • Definition
    Typ: array<System.Byte[]
    Definicja raportu .rdl, definicja model raportu lub zawartość zasób do publikowania serwer raportów.
  • Warnings
    Typ: array<ReportService2010.Warning[]%
    [Brak] Tablica Warning obiektów, które opisano wszystkie ostrzeżenia, które wystąpiły podczas element został sprawdzony.

Wartość zwracana

Typ: ReportService2010.CatalogItem
A CatalogItem obiektu dla nowo utworzonego element.

Uwagi

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

Użycie nagłówek protokołu SOAP

(W)TrustedUserHeaderValue

(Ruch wychodzący)ServerInfoHeaderValue

Tryb macierzysty wymagane uprawnienia

Zależy od typu element:

Tryb programu SharePoint wymagane uprawnienia

Zależy od typu element:

  • Raport

    Tworzenie nowego raportu: AddListItems()na Parent i ViewListItems() na źródła danych i zestawach danych określonych w Definition

    Aktualizowanie istniejącego raportu: EditListItems()na Item i ViewListItems() na źródła danych i zestawach danych określonych w Definition i ViewListItems() na Item (jeśli Properties zawiera właściwości)

  • DataSet

    Tworzenie nowego zestawu danych udostępnionych: AddListItems()na Parent i ViewListItems() na źródeł określonych w danych Definition

    Aktualizowanie istniejących dataset udostępnionego: EditListItems() on Item AND ViewListItems() on data sources defined in DefinitionViewListItems() on Item (if Properties contains properties)

  • Zasób, DataSource, składnika:

    Tworzenie nowego element: AddListItems() na Parent

    Aktualizowanie istniejącego element: EditListItems() na Item

  • Model: AddListItems() na Parent

Tej metoda można utworzyć elements wszystkich obsługiwanych element typów.Aby zobaczyć, jak element są obsługiwane, użyj ListItemTypes metoda.

Model typ element nie można zastąpić.Dlatego Overwrite parametr musi być False Jeśli ItemType jest Model.W przeciwnym razie rsInvalidParameterCombination jest wyjątek.

Jeśli ItemType jest raport, a następnie danych XML jest zdefiniowany przez Report Definition Language.Jeśli ItemType jest Model, a następnie danych XML jest zdefiniowany przez Semantic Model Definition Language.

Jeśli wystąpią błędy, element nie zostanie utworzony.

Dodawanie element do baza danych serwera raportów lub modyfikuje biblioteki programu SharePoint ModifiedBy i ModifiedDate Właściwości folderu nadrzędnego.

Jeśli rozszerzenie nazwy pliku stosowane (na przykład .rdl) są wyłączone z nazwa element rsFileExtensionRequired zostanie zwrócony błąd.

Długość Parent parametr nie może przekraczać 260 znaków; w przeciwnym razie SOAP jest wyjątek z kodem błędu rsItemLengthExceeded.

Parent Parametr nie może być null lub puste lub zawierać następujących znaków zarezerwowanych: : ? ; @ & = + $ , \ * > < | . ".Ukośnik (/) można używać do oddzielania elementów pełną nazwę ścieżka folderu, ale nie można go użyć na końcu nazwy folderu.

Przykłady

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