ReportingService2006.CreateReport Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fügt einer SharePoint-Bibliothek einen neuen Bericht hinzu.
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
Parameter
- Report
- String
Der Name des neuen Berichts einschließlich des Dateinamens und der Dateinamenerweiterung (.rdl).
- Parent
- String
Die vollqualifizierte URL des übergeordneten Ordners, der den Bericht enthält.
- Overwrite
- Boolean
Ein Boolean
-Ausdruck, der angibt, ob ein vorhandener Bericht mit dem gleichen Namen am angegebenen Speicherort überschrieben werden soll.
- Definition
- Byte[]
Die auf dem Berichtsserver zu veröffentlichende Berichtsdefinition, die den Inhalt einer RDL-Datei darstellt. Die XML-Daten werden von der Berichtsdefinitionssprache http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ definiert.
- Properties
- Property[]
Ein Array von Property-Objekten, das die Eigenschaftennamen und die Werte enthält, die für den Bericht festgelegt werden sollen.
- Warnings
- Warning[]
[out] Ein Array von Warning-Objekten, das alle Warnungen beschreibt, die bei der Validierung der Berichtsdefinition ausgegeben wurden.
Gibt zurück
Ein CatalogItem-Objekt für den neu erstellten Bericht.
Beispiele
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
Hinweise
In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.
SOAP-Header | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Erforderliche Berechtigungen | Erstellen eines neuen Berichts: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> auf Parent UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> für Datenquellen und Datasets, die in definiert sind Definition Aktualisieren eines vorhandenen Berichts: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> für Report UND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> für Datenquellen und Datasets, die in definiert sind Definition |
Die Länge des Parent
Parameters darf 260 Zeichen nicht überschreiten. Andernfalls wird eine SOAP-Ausnahme mit dem Fehlercode rsItemLengthExceeded ausgelöst.
Der Parent
Parameter darf nicht NULL oder leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . "
. Sie können den Schrägstrich (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber sie können es nicht am Ende des Ordnernamens verwenden.
Wenn Fehler auftreten, wird der Bericht nicht erstellt.
Durch das Hinzufügen eines Berichts zu einer SharePoint-Bibliothek werden die ModifiedBy Eigenschaften und ModifiedDate des übergeordneten Ordners geändert.
Wenn die RDL-Dateinamenerweiterung vom Berichtsnamen ausgeschlossen ist, wird ein rsFileExtensionRequired
Fehler zurückgegeben.