次の方法で共有


ReportingService2005.CreateReport メソッド

定義

新しいレポートをレポート サーバー データベースに追加します。

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 オブジェクトの配列です。

このコード例をコンパイルするには、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
必要なアクセス許可 新しいレポートの作成: Parent に対する CreateReport、レポートのデータ ソースに対する ReadProperties、およびレポートのデータセットに対する ReadProperties

既存のレポートの更新: Report に対する UpdateReportDefinitionReport に対する UpdateProperties (Properties にプロパティが含まれている場合)、レポートのデータ ソースに対する UpdateProperties、およびレポートのデータセットに対する UpdateProperties

パラメーターの Parent 長さは 260 文字を超えることはできません。それ以外の場合は、エラー コード rsItemLengthExceeded で SOAP 例外がスローされます。

Parent パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ? ; @ & = + $ , \ * > < | . " を含めることもできません。 スラッシュ文字 (/) を使用して、フォルダーの完全なパス名内の項目を区切ることができますが、フォルダー名の末尾で使用することはできません。

エラーが発生すると、レポートは作成されません。

レポート サーバー データベースにレポートを追加すると、親フォルダーの ModifiedBy プロパティと ModifiedDate プロパティが変更されます。

適用対象