Compartilhar via


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

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 em Parent AND ReadProperties nas fontes de dados do relatório E ReadProperties nos conjuntos de dados do relatório
Atualizando um relatório existente: UpdateReportDefinition em (se Properties contiver propriedades) AND UpdateProperties em Item AND UpdateProperties nas fontes de dados do relatório E UpdateProperties nos conjuntos Item de dados do relatório
- DataSet
Criando um novo conjunto de dados compartilhado: CreateReport em Parent E ReadProperties nas fontes de dados do conjunto de dados
Atualizando um conjunto de dados compartilhado existente: UpdateReportDefinition em Item AND UpdateProperties em Item (se Properties contiver propriedades) E UpdateProperties nas fontes de dados do conjunto de dados
- Resource, Component:
Criando um novo item: CreateResource em Parent
Atualizando um item existente: UpdateContent em Item
Atualizando as propriedades do item: UpdateContent E UpdateProperties em Item
- DataSource:
Criando uma nova fonte de dados: CreateDatasource em Parent
Atualizando uma fonte de dados existente: UpdateContent
Atualizando propriedades da fonte de dados: UpdateContent AND UpdateProperties
- Model: CreateModel
Permissões necessárias do modo do SharePoint Depende do tipo de item:

- Report
Criando um novo relatório: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> no Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados e conjuntos de dados definidos em Definition
Atualizando um relatório existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados e conjuntos de dados definidos em AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em DefinitionItem (se Properties contiver propriedades)
- DataSet
Criando um novo conjunto de dados compartilhado: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em Parent E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados definidas em Definition
Atualizando um conjunto de dados compartilhado existente: em E em fontes de dados definidas em Item<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definition(se Properties contiver propriedades)<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Item<xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>
- Resource, DataSource, Component:
Criando um novo item: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em Parent
Atualizando um item existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em 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á gerada.

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.

Adicionar um item a um banco de dados do servidor de relatório ou à biblioteca do SharePoint modifica as ModifiedBy propriedades e ModifiedDate 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 é gerada 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 (/) 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