Freigeben über


ReportingService2005.CreateReport Methode

Definition

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 datasets

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

Gilt für: