ReportingService2005.CreateReport Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega un nuevo informe a la base de datos del servidor de informes.
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
Nombre del nuevo informe.
- Parent
- String
Dirección URL completa de la carpeta primaria a la que se va a agregar el informe.
- Overwrite
- Boolean
Expresión Boolean
que indica si un informe existente con el mismo nombre y en la ubicación especificada se debe sobrescribir.
- Definition
- Byte[]
Definición de informe que se va a publicar en el servidor de informes, que es el contenido de un archivo .rdl. Los datos XML se definen mediante el http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ lenguaje de definición de informe .
- Properties
- Property[]
Matriz de objetos Property que contiene los nombres y valores de propiedad que se van a establecer para el informe.
Devoluciones
Matriz de objetos Warning que describe las advertencias que se produjeron al validar la definición de informe.
Ejemplos
Para compilar este ejemplo de código, debe hacer referencia al Reporting Services WSDL e importar determinados espacios de nombres. Para obtener más información, vea Compilar y ejecutar ejemplos de código. En el ejemplo de código siguiente se publica un informe en forma de archivo rdl (Lenguaje de definición de informes) en una base de datos del servidor de informes.
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());
}
}
}
Comentarios
En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.
Encabezados SOAP | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Permisos necesarios | Creación de un nuevo informe: CreateReport en Parent AND ReadProperties en los orígenes de datos del informe Y ReadProperties en los conjuntos de datos del informeActualización de un informe existente: en AND en (si Properties contiene propiedades) Y UpdateProperties en los orígenes de datos del informe Y UpdateProperties en los conjuntos de datos del informe Report UpdatePropertiesReport UpdateReportDefinition |
La longitud del Parent
parámetro no puede superar los 260 caracteres; de lo contrario, se produce una excepción SOAP con el código de error rsItemLengthExceeded.
El Parent
parámetro no puede ser nulo ni estar vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . "
. Puede usar el carácter de barra diagonal (/) para separar los elementos del nombre de ruta de acceso completo de la carpeta, pero no puede usarlo al final del nombre de la carpeta.
Si se producen errores, no se crea el informe.
Al agregar un informe a la base de datos del servidor de informes, se modifican las ModifiedBy propiedades y ModifiedDate de la carpeta primaria.