ReportingService2005.CreateReport メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
新しいレポートをレポート サーバー データベースに追加します。
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/ 定義されます。
戻り値
レポート定義の検証時に発生したすべての警告を表す 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 に対する UpdateReportDefinition、Report に対する UpdateProperties (Properties にプロパティが含まれている場合)、レポートのデータ ソースに対する UpdateProperties、およびレポートのデータセットに対する UpdateProperties |
パラメーターの Parent
長さは 260 文字を超えることはできません。それ以外の場合は、エラー コード rsItemLengthExceeded で SOAP 例外がスローされます。
Parent
パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ? ; @ & = + $ , \ * > < | . "
を含めることもできません。 スラッシュ文字 (/) を使用して、フォルダーの完全なパス名内の項目を区切ることができますが、フォルダー名の末尾で使用することはできません。
エラーが発生すると、レポートは作成されません。
レポート サーバー データベースにレポートを追加すると、親フォルダーの ModifiedBy プロパティと ModifiedDate プロパティが変更されます。