Lenguaje

ReportingService2006.CreateReport Método

Definición

Añade un nuevo informe a una biblioteca de 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

El nombre del nuevo informe incluye el nombre del archivo y la extensión del nombre de archivo .rdl.

Parent
String

La URL totalmente calificada para la carpeta principal que contendrá el informe.

Overwrite
Boolean

Una Boolean expresión que indique si debe ser sobrescrito un informe existente que tenga el mismo nombre en la ubicación especificada.

Definition
Byte[]

La definición del informe que debe publicar en el servidor de informes, que es el contenido de un archivo .rdl. Los datos XML están definidos por el http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Lenguaje de Definición de Informes .

Properties
Property[]

Un array de Property objetos que contiene los nombres de propiedades y valores a establecer para el informe.

Warnings
Warning[]

[fuera] Un conjunto de Warning objetos que describe cualquier advertencia que haya ocurrido cuando se validó la definición del informe.

Devoluciones

Un CatalogItem objeto para el informe recién creado.

Ejemplos

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  

Comentarios

La siguiente tabla muestra la información sobre cabeceras y permisos sobre esta operación.

Encabezados SOAP (En) TrustedUserHeaderValue

(Fuera) ServerInfoHeaderValue
Permisos necesarios Creación de un nuevo informe: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> sobre Parent Y <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fuentes de datos y conjuntos de datos definidos en Definition

Actualizar un informe existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> sobre Report Y <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fuentes de datos y conjuntos de datos definidos en Definition

La longitud del Parent parámetro no puede superar los 260 caracteres; de lo contrario, se lanza una excepción SOAP con el código de error rsItemLengthExceeded.

El Parent parámetro no puede ser nulo ni vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . ". Puedes usar el carácter de barra hacia adelante (/) para separar elementos en el nombre completo de la carpeta, pero no puedes usarlo al final del nombre de la carpeta.

Si se producen errores, el informe no se crea.

Añadir un informe a una biblioteca de SharePoint modifica las ModifiedBy propiedades y ModifiedDate de la carpeta principal.

Si la extensión del nombre de archivo .rdl se excluye del nombre del informe, se devolverá un rsFileExtensionRequired error.

Se aplica a