ReportingService2010.CreateCatalogItem Método

Definição

Adiciona um novo item a um banco de dados do servidor de relatório ou à biblioteca do SharePoint. Esse método aplica-se aos tipos de item Report, Model, Dataset, Component, Resource e 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

Parâmetros

ItemType
String

O tipo do item.

Name
String

O nome do novo item, incluindo a extensão do arquivo no modo do SharePoint.

Parent
String

A URL totalmente qualificada da pasta pai que conterá o item.

Overwrite
Boolean

Uma expressão Boolean que indica se um item existente com o mesmo nome no local especificado deve ser substituído.

Definition
Byte[]

A definição de relatório .rdl, a definição de modelo de relatório ou o conteúdo do recurso a ser publicado no servidor de relatório.

Properties
Property[]

Uma matriz de objetos Property que contém os nomes e os valores de propriedades a serem definidos para o item.

Warnings
Warning[]

[out] Uma matriz de objetos Warning que descreve todos os avisos ocorridos na validação do item.

Retornos

CatalogItem

Um objeto CatalogItem do item recém-criado.

Atributos

Exemplos

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  

Comentários

A tabela a seguir mostra o cabeçalho e as informações de permissão sobre esta operação.

Uso do cabeçalho SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permissões necessárias do modo nativo Depende do tipo de item:

- Report
Criando um novo relatório: CreateReport no Parent e ReadProperties nas fontes de dados do relatório e ReadProperties nos conjuntos de dados do relatório
Atualizando um relatório existente: UpdateReportDefinition on Item (se Properties contiver Propriedades) e UpdateProperties em Item e UpdateProperties nas fontes de dados do relatório e UpdateProperties nos DataSets do relatório
- DataSet
Criando um novo conjunto de dados compartilhado: CreateReport nas Parent ReadProperties fontes
Atualizando um conjunto de dados compartilhado existente: UpdateReportDefinition on Item e UpdateProperties on Item (if Properties contém as propriedades) e UpdateProperties nas fontes de dados do DataSet
- Resource, Component:
Criando um novo item: CreateResource ativado Parent
Atualizando um item existente: UpdateContent ativado Item
Atualizando Propriedades do item: UpdateContent e UpdateProperties em Item
- DataSource:
Criando uma nova fonte de dados: CreateDatasource ativada Parent
Atualizando uma fonte de dados existente: UpdateContent
Atualizando Propriedades da fonte UpdateContent de dados: e UpdateProperties
- Model: CreateModel
Permissões necessárias do modo do SharePoint Depende do tipo de item:

- Report
Criando um novo relatório: AddListItems em Parent e ViewListItems em fontes de dados e conjuntos de dados definidos em Definition
Atualizando um relatório existente: EditListItems em Item e ViewListItems em fontes de dados e conjuntos de dados definidos em Definition e ViewListItems em Item (se Properties contiverem Propriedades)
- DataSet
Criando um novo conjunto de dados compartilhado: AddListItems em Parent e ViewListItems em fontes de dado definidas em Definition
Atualizando um conjunto de dados compartilhado existente: EditListItems em Item e ViewListItems em fontes de dado definidas em Definition ViewListItems Item (se Properties contiverem Propriedades)
- Resource, DataSource, Component:
Criando um novo item: AddListItems ativado Parent
Atualizando um item existente: EditListItems ativado Item
- Model: AddListItems ativado Parent

Esse método pode criar itens de todos os tipos de item com suporte. Para ver quais tipos de item têm suporte, use o ListItemTypes método.

O Model tipo de item não pode ser substituído. Portanto, o Overwrite parâmetro deve ser False se ItemType for Model . Caso contrário, uma exceção rsInvalidParameterCombination será lançada.

Se ItemType for Report , os dados XML serão definidos pela linguagem de definição de relatório. Se ItemType for Model , os dados XML serão definidos pela linguagem de definição de modelo semântico.

Se ocorrerem erros, o item não será criado.

A adição de um item a um banco de dados do servidor de relatório ou da biblioteca do SharePoint modifica as ModifiedBy ModifiedDate Propriedades e da pasta pai.

Se a extensão de nome de arquivo aplicável (por exemplo,. RDL) for excluída do nome do item, um rsFileExtensionRequired erro será retornado.

O comprimento do Parent parâmetro não pode exceder 260 caracteres; caso contrário, uma exceção SOAP é lançada com o código de erro rsItemLengthExceeded.

O Parent parâmetro não pode ser nulo ou vazio ou conter os seguintes caracteres reservados: : ? ; @ & = + $ , \ * > < | . " . Você pode usar o caractere de barra invertida (/) para separar itens no nome do caminho completo da pasta, mas não pode usá-lo no final do nome da pasta.

Aplica-se a