ReportingService2005.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 der Berichtsserver-Datenbank einen neuen Bericht hinzu.
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()
Parameter
- Report
- String
Der Name des neuen Berichts.
- Parent
- String
Die vollqualifizierte URL des übergeordneten Ordners, dem der Bericht hinzugefügt werden soll.
- Overwrite
- Boolean
Ein Boolean
Ausdruck, der angibt, ob ein vorhandener Bericht mit demselben 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.
Gibt zurück
Ein Array von Warning-Objekten, das alle Warnungen beschreibt, die bei der Validierung der Berichtsdefinition ausgegeben wurden.
Beispiele
Um dieses Codebeispiel zu kompilieren, müssen Sie auf die Reporting Services WSDL verweisen und bestimmte Namespaces importieren. Weitere Informationen finden Sie unter Kompilieren und Ausführen von Codebeispielen. Im folgenden Codebeispiel wird ein Bericht in Form einer RDL-Datei (Report Definition Language) in einer Berichtsserver-Datenbank veröffentlicht.
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());
}
}
}
Hinweise
In der folgenden Tabelle werden Header- und Berechtigungsinformationen zu diesem Vorgang dargestellt.
SOAP-Header | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Erforderliche Berechtigungen | Erstellen eines neuen Berichts: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasetsAktualisieren eines vorhandenen Berichts: UpdateReportDefinition on Report AND UpdateProperties on Report (if Properties contains properties) AND UpdateProperties on the report's data sources AND UpdateProperties on the report's datasets |
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 ihn nicht am Ende des Ordnernamens verwenden.
Wenn Fehler auftreten, wird der Bericht nicht erstellt.
Wenn Sie der Berichtsserver-Datenbank einen Bericht hinzufügen, werden die ModifiedBy Eigenschaften und ModifiedDate des übergeordneten Ordners geändert.