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 einen neuen Bericht zur Berichtsserver-Datenbank 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 vollständig qualifizierte URL des übergeordneten Ordners, zu dem der Bericht hinzugefügt werden soll.
- Overwrite
- Boolean
Ein Ausdruck, der angibt, ob ein bestehender Bericht mit demselben Namen am angegebenen Boolean Ort überschrieben werden sollte.
- Definition
- Byte[]
Die Berichtsdefinition zur Veröffentlichung auf dem Berichtsserver ist der Inhalt einer .rdl-Datei. Die XML-Daten werden durch die http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Report Definition Language definiert.
- Properties
- Property[]
Ein Array von Property Objekten, das die Eigenschaftsnamen und Werte enthält, die für den Bericht festgelegt werden.
Gibt zurück
Ein Array von Warning Objekten, das alle Warnungen beschreibt, die bei der Validierung der Berichtsdefinition aufgetreten sind.
Beispiele
Um dieses Codebeispiel zu kompilieren, müssen Sie auf die Reporting Services WSDL zurückgreifen und bestimmte Namensräume importieren. Weitere Informationen finden Sie unter Beispiele für Kompilierung und Ausführung von Coden. Das folgende Codebeispiel veröffentlicht einen Bericht in Form einer Report Definition Language (RDL)-Datei in einer Berichtsdatenbank.
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
Die untenstehende Tabelle zeigt Header- und Berechtigungsinformationen zu dieser Operation.
| SOAP-Überschriften | (In) BatchHeaderValue (Aus) ServerInfoHeaderValue |
| Erforderliche Berechtigungen | Erstellung eines neuen Berichts CreateReport : über Parent UND ReadProperties zu den Datenquellen des Berichts UND ReadProperties zu den Datensätzen des BerichtsAktualisierung eines bestehenden Berichts: auf AND on (falls Properties Eigenschaften enthält) AND UpdateProperties auf den Datenquellen des Berichts AND UpdateProperties auf den Datensätzen des Berichts ReportUpdatePropertiesReportUpdateReportDefinition |
Die Länge des Parameters Parent darf 260 Zeichen nicht überschreiten; andernfalls wird eine SOAP-Ausnahme mit dem Fehlercode rsItemLengthExceeds ausgelöst.
Der Parameter Parent kann weder null noch leer sein oder die folgenden reservierten Zeichen enthalten: : ? ; @ & = + $ , \ * > < | . ". Du kannst das Forward-Schrägstrichzeichen (/) verwenden, um Elemente im vollständigen Pfadnamen des Ordners zu trennen, aber am Ende des Ordnernamens kannst du es nicht verwenden.
Wenn Fehler auftreten, wird der Bericht nicht erstellt.
Das Hinzufügen eines Berichts zur Berichtsserver-Datenbank ändert die ModifiedBy Eigenschaften und ModifiedDate Eigenschaften des Elternordners.