ReportingService2005.CreateReport Methode

Definition

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 Berichts

Aktualisierung 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.

Gilt für: