ReportingService2005.CreateReport(String, String, Boolean, Byte[], Property[]) 方法

定義

將新的報表加入報表伺服器資料庫中。

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()

參數

Report
String

新報表的名稱。

Parent
String

要加入報表之父資料夾的完整 URL。

Overwrite
Boolean

Boolean 運算式,指出是否應該覆寫在指定位置中名稱相同的現有報表。

Definition
Byte[]

要發行至報表伺服器的報表定義,這是 .rdl 檔案的內容。 XML 資料是由 http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ 報表定義語言所定義。

Properties
Property[]

Property 物件的陣列,其中包含要為報表設定的屬性名稱和值。

傳回

Warning[]

Warning 物件的陣列,描述在驗證報表定義時所發生的任何警告。

範例

若要編譯這個程式碼範例,您必須參考 Reporting Services WSDL 並匯入特定命名空間。 如需詳細資訊,請參閱 編譯和執行程式碼範例。 下列程式碼範例會將報表定義語言 (RDL) 檔形式的報表發佈至報表伺服器資料庫。

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());  
      }  

   }  
}  

備註

下表顯示標頭以及有關這項作業的權限資訊。

SOAP 標頭 (In) BatchHeaderValue

(Out) ServerInfoHeaderValue
必要權限 建立新的報表: CreateReport Parent ReadProperties 報表的資料來源和 ReadProperties 報表資料集上的 on 和

更新現有的報表: UpdateReportDefinition on ReportUpdateProperties on Report (如果 Properties 包含屬性) 和報表的 UpdateProperties 資料來源,以及 UpdateProperties 報表的資料集

參數的長度 Parent 不能超過260個字元; 否則會擲回 SOAP 例外狀況,並傳回錯誤碼 rsItemLengthExceeded

Parent參數不可為 null 或空白,或包含下列保留字元: : ? ; @ & = + $ , \ * > < | . " 。 您可以使用正斜線字元 (/) 將資料夾的完整路徑名稱中的專案分開,但不能在資料夾名稱的結尾使用它。

如果發生錯誤,則不會建立報表。

將報表加入至報表伺服器資料庫時,會 ModifiedBy 修改 ModifiedDate 上層資料夾的和屬性。

適用於