Compartilhar via


ReportingService2006.CreateReport Método

Definição

Adiciona um novo relatório a uma biblioteca do SharePoint.

public:
 ReportService2006::CatalogItem ^ CreateReport(System::String ^ Report, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2006::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2006::Warning ^> ^ % Warnings);
public ReportService2006.CatalogItem CreateReport (string Report, string Parent, bool Overwrite, byte[] Definition, ReportService2006.Property[] Properties, out ReportService2006.Warning[] Warnings);
member this.CreateReport : string * string * bool * byte[] * ReportService2006.Property[] * Warning[] -> ReportService2006.CatalogItem
Public Function CreateReport (Report As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem

Parâmetros

Report
String

A nome do novo relatório, incluindo o nome do arquivo e a extensão .rdl do nome do arquivo.

Parent
String

A URL totalmente qualificada da pasta pai que conterá o relatório.

Overwrite
Boolean

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

Definition
Byte[]

A definição do relatório a ser publicado no servidor de relatório, que é o conteúdo de um arquivo .rdl. Os dados XML são definidos pela http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Linguagem de Definição 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 relatório.

Warnings
Warning[]

[out] Uma matriz de objetos Warning que descreve todos os avisos ocorridos na validação da definição de relatório.

Retornos

Um objeto CatalogItem do relatório recém-criado.

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)  
    {  
        ReportingService2006 rs = new ReportingService2006();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2006.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.CreateReport(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 ReportingService2006()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2006.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.CreateReport(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.

Cabeçalhos SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permissões necessárias 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 Report E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados e conjuntos de dados definidos em Definition

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.

Se ocorrerem erros, o relatório não será criado.

Adicionar um relatório a uma biblioteca do SharePoint modifica as ModifiedBy propriedades e ModifiedDate da pasta pai.

Se a extensão de nome de arquivo .rdl for excluída do nome do relatório, um rsFileExtensionRequired erro será retornado.

Aplica-se a