ReportingService2006.CreateReport Método

Definición

Agrega un informe nuevo 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

Nombre del nuevo informe, incluidos el nombre y la extensión del nombre de archivo .rd.

Parent
String

Dirección URL completa de la carpeta principal que contendrá el informe.

Overwrite
Boolean

Expresión de tipo Boolean que indica si se debe sobrescribir un informe existente que tiene el mismo nombre en la ubicación especificada.

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.

Warnings
Warning[]

[salida] Matriz de objetos Warning que describe las advertencias que se produjeron al validar la definición de informe.

Devoluciones

Objeto CatalogItem para el informe creado recientemente.

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

En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.

Encabezados SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permisos necesarios Creación de un nuevo informe: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> en Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes de datos y conjuntos de datos definidos en Definition

Actualización de un informe existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> en Report AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes 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 produce una excepción SOAP con el código de error rsItemLengthExceededed.

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.

Agregar un informe a una biblioteca de SharePoint modifica las ModifiedBy propiedades y ModifiedDate de la carpeta primaria.

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

Se aplica a