ReportingService2005.CreateReport Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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órioAtualizaçã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.