ReportingService2005.CreateReport Método

Definição

Adiciona um novo relatório ao banco de dados do servidor de relatórios.

public:
 cli::array <ReportService2005::Warning ^> ^ CreateReport(System::String ^ Report, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2005::Property ^> ^ Properties);
public ReportService2005.Warning[] CreateReport(string Report, string Parent, bool Overwrite, byte[] Definition, ReportService2005.Property[] Properties);
member this.CreateReport : string * string * bool * byte[] * ReportService2005.Property[] -> ReportService2005.Warning[]
Public Function CreateReport (Report As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property()) As Warning()

Parâmetros

Report
String

O nome do novo relatório.

Parent
String

A URL totalmente qualificada da pasta pai à qual adicionar o relatório.

Overwrite
Boolean

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

Definition
Byte[]

A definição do relatório a ser publicada no servidor de relatórios, 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[]

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

Retornos

Um array de Warning objetos que descreve quaisquer avisos que ocorreram quando a definição do relatório foi validada.

Exemplos

Para compilar esse exemplo de código, você deve consultar o Reporting Services WSDL e importar certos namespaces. Para mais informações, veja Exemplos de Código Compilando e Executando. O exemplo de código a seguir publica um relatório na forma de um arquivo de Linguagem de Definição de Relatórios (RDL) para um banco de dados de servidor de relatórios.

Imports System  
Imports System.IO  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim definition As [Byte]() = Nothing  
      Dim warnings As Warning() = Nothing  
      Dim name As String = "MyReport"  

      Try  
         Dim stream As FileStream = File.OpenRead("MyReport.rdl")  
         definition = New [Byte](stream.Length - 1) {}  
         stream.Read(definition, 0, CInt(stream.Length - 1))  
         stream.Close()  

      Catch e As IOException  
         Console.WriteLine(e.Message)  
      End Try  

      Try  
         warnings = rs.CreateReport(name, "/Samples", False, definition, Nothing)  

         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 'Main   
End Class 'Sample  
using System;  
using System.IO;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      Byte[] definition = null;  
      Warning[] warnings = null;  
      string name = "MyReport";  

      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  
      {  
         warnings = rs.CreateReport(name, "/Samples", false, definition, null);  

         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());  
      }  

   }  
}  

Comentários

A tabela abaixo mostra informações sobre cabeçalhos e permissões sobre esta operação.

Cabeçalhos SOAP (Em) BatchHeaderValue

(Fora) ServerInfoHeaderValue
Permissões necessárias 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 Report E UpdateProperties em Report (se Properties contiver propriedades) E UpdateProperties nas fontes de dados do relatório E UpdateProperties nos conjuntos de dados do relatório

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.

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

Adicionar um relatório ao banco de dados do servidor de relatórios modifica as ModifiedBy propriedades e ModifiedDate da pasta pai.

Aplica-se a