ReportingService2006.CreateReport Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge un nuovo report a una raccolta di 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
Parametri
- Report
- String
Nome del nuovo report, inclusi il nome file e l'estensione rdl.
- Parent
- String
URL completo della cartella padre che conterrà il report.
- Overwrite
- Boolean
Un'espressione Boolean
che indica se è necessario sovrascrivere un report esistente con lo stesso nome nel percorso specificato.
- Definition
- Byte[]
Definizione del report da pubblicare sul server di report che corrisponde al contenuto di un file con estensione rdl. I dati XML sono definiti dal http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ linguaggio di definizione del report .
- Properties
- Property[]
Matrice di oggetti Property che contengono i nomi e i valori delle proprietà da impostare per il report.
- Warnings
- Warning[]
[out] Matrice di oggetti Warning che descrive gli avvisi generati durante la convalida della definizione del report.
Restituisce
Oggetto CatalogItem per il report appena creato.
Esempio
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
Commenti
Nella tabella seguente vengono mostrate le informazioni sull'intestazione e sulle autorizzazioni relative a questa operazione.
Intestazioni SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Autorizzazioni necessarie | Creazione di un nuovo report: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> in Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> in origini dati e set di dati definiti in Definition Aggiornamento di un report esistente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Report AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> in origini dati e set di dati definiti in Definition |
La lunghezza del parametro non può superare i 260 caratteri. In caso contrario, viene generata un'eccezione SOAP con il codice di Parent
errore rsItemLengthExceeded.
Il Parent
parametro non può essere null o vuoto o contenere i caratteri riservati seguenti: : ? ; @ & = + $ , \ * > < | . "
. È possibile usare il carattere barra in avanti (/) per separare gli elementi nel nome completo del percorso della cartella, ma non è possibile usarlo alla fine del nome della cartella.
Se si verificano errori, il report non viene creato.
L'aggiunta di un report a una libreria di SharePoint modifica le ModifiedBy proprietà e ModifiedDate della cartella padre.
Se l'estensione del nome file rdl è esclusa dal nome del report, verrà restituito un rsFileExtensionRequired
errore.