Linguagem

ReportingService2010.CreateCatalogItem Método

Definição

Adiciona um novo item a um banco de dados de servidor de relatórios ou a uma biblioteca do SharePoint. Esse método se aplica aos Reporttipos de item, Model, Dataset, Component, Resource, e DataSource item.

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 de item.

Name
String

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

Parent
String

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

Overwrite
Boolean

Uma Boolean expressão que indica se um item existente com o mesmo nome na localização especificada deve ser sobrescrevido.

Definition
Byte[]

A definição do relatório .rdl, definição do modelo de relatório ou conteúdo de recursos para publicar no servidor de relatório.

Properties
Property[]

Um array de Property objetos que contém os nomes das propriedades e valores a serem definidos para o item.

Warnings
Warning[]

[fora] Um array de Warning objetos que descreve quaisquer avisos que ocorreram quando o item foi validado.

Retornos

Um CatalogItem objeto para o 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 abaixo mostra informações sobre cabeçalhos e permissões sobre esta operação.

Uso do Cabeçalho SOAP (Em) TrustedUserHeaderValue

(Fora) ServerInfoHeaderValue
Modo Nativo Necessário Permissões Depende do tipo de item:

- Report
Criando um novo relatório: CreateReport sobre Parent E ReadProperties sobre as fontes de dados do relatório E ReadProperties sobre os conjuntos de dados do relatório
Atualização de um relatório existente: UpdateReportDefinition em Item (se Properties contiver propriedades) E UpdateProperties em Item E UpdateProperties nas fontes de dados do relatório E UpdateProperties nos conjuntos de dados do relatório
- DataSet
Criando um novo conjunto de dados compartilhado: CreateReport sobre Parent E ReadProperties sobre as fontes de dados do conjunto de dados
Atualização de um conjunto de dados compartilhado existente: em E em Item (se Properties contiver propriedades) E UpdateProperties nas fontes de dados do conjunto UpdateProperties de dados ItemUpdateReportDefinition
- Resource, Component:
Criando um novo item: CreateResource em Parent
Atualizando um item existente: UpdateContent ligado Item
Atualizando propriedades do item: UpdateContent E UpdateProperties ligado 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 E UpdateProperties
- Model: CreateModel
Permissões Necessárias no Modo SharePoint Depende do tipo de item:

- Report
Criando um novo relatório: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> sobre Parent E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fontes de dados e conjuntos de dados definidos em Definition
Atualização de um relatório existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fontes de dados e conjuntos de dados definidos em Definition E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em Item (se Properties contém 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: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados definidas em<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definitionem Item (se Properties contém propriedades)
- Resource, DataSource, Component:
Criando um novo item: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em Parent
Atualizando um item existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> ligado Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> ligado Parent

Esse método pode criar itens de todos os tipos suportados. Para ver quais tipos de itens são suportados, use o ListItemTypes método.

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

Se ItemType for Report, então os dados XML são definidos pela Linguagem de Definição de Relatório. Se ItemType for Model, então os dados XML são definidos pela Linguagem de Definição de Modelo Semântico.

Se ocorrerem erros, o item não é criado.

Adicionar um item a um banco de dados servidor de relatórios ou a uma biblioteca biblioteca do SharePoint modifica as ModifiedBy propriedades e ModifiedDate da pasta pai.

Se a extensão do 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 para frente (/) para separar itens no nome completo do caminho da pasta, mas não pode usá-lo no final do nome da pasta.

Aplica-se a