ReportingService2010.CreateCatalogItem メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
レポート サーバー データベースまたは SharePoint ライブラリに新しいアイテムを追加します。 このメソッドは、アイテムの種類 Report
、Model
、Dataset
、Component
、Resource
、および DataSource
に適用されます。
public:
ReportService2010::CatalogItem ^ CreateCatalogItem(System::String ^ ItemType, System::String ^ Name, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2010::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2010::Warning ^> ^ % Warnings);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.CatalogItem CreateCatalogItem (string ItemType, string Name, string Parent, bool Overwrite, byte[] Definition, ReportService2010.Property[] Properties, out ReportService2010.Warning[] Warnings);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.CreateCatalogItem : string * string * string * bool * byte[] * ReportService2010.Property[] * Warning[] -> ReportService2010.CatalogItem
Public Function CreateCatalogItem (ItemType As String, Name As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem
パラメーター
- ItemType
- String
項目の種類。
- Name
- String
SharePoint モードのファイル拡張子を含む、新しいアイテムの名前です。
- Parent
- String
アイテムを格納する親フォルダーの完全修飾 URL です。
- Overwrite
- Boolean
指定された場所に同じ名前のアイテムが既に存在する場合に上書きするかどうかを示す Boolean
式です。
- Definition
- Byte[]
レポート サーバーにパブリッシュする .rdl レポート定義、レポート モデル定義、またはリソース コンテンツです。
戻り値
新しく作成されたアイテムの CatalogItem オブジェクトです。
- 属性
例
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
class Sample
{
static void Main(string[] args)
{
ReportingService2010 rs = new ReportingService2010();
rs.Url = "http://<Server Name>" +
"/_vti_bin/ReportServer/ReportService2010.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
Byte[] definition = null;
Warning[] warnings = null;
string name = "MyReport.rdl";
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
{
string parent = "http://<Server Name>/Docs/Documents/";
CatalogItem report = rs.CreateCatalogItem("Report", name, parent,
false, definition, null, out warnings);
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());
}
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2010()
rs.Url = "http://<Server Name>" + _
"/_vti_bin/ReportServer/ReportService2010.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim definition As [Byte]() = Nothing
Dim warnings As Warning() = Nothing
Dim name As String = "MyReport.rdl"
Try
Dim stream As FileStream = File.OpenRead("MyReport.rdl")
definition = New [Byte](stream.Length - 1) {}
stream.Read(definition, 0, CInt(stream.Length))
stream.Close()
Catch e As IOException
Console.WriteLine(e.Message)
End Try
Try
Dim parentPath As String = _
"http://<Server Name>/Docs/Documents/"
rs.CreateCatalogItem("Report", name, parentPath, False, _
definition, Nothing, warnings)
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
End Class
注釈
次の表に、この操作に関連するヘッダーおよび権限の情報を示します。
SOAP ヘッダーの使用方法 | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
ネイティブ モードで必要なアクセス許可 | アイテムの種類によって異なります。 - Report 新しいレポートの作成: Parent に対する CreateReport、レポートのデータ ソースに対する ReadProperties、およびレポートのデータセットに対する ReadProperties既存のレポートの更新: Item に対する UpdateReportDefinition (Properties にプロパティが含まれている場合)、Item に対する UpdateProperties、レポートのデータ ソースに対する UpdateProperties、およびレポートのデータセットに対する UpdateProperties- DataSet 新しい共有データセットの作成: Parent に対する CreateReport、およびデータセットのデータ ソースに対する ReadProperties既存の共有データセットの更新: Item に対する UpdateReportDefinition、Item に対する UpdateProperties (Properties にプロパティが含まれている場合)、およびデータセットのデータ ソースに対する UpdateProperties- Resource , Component :新しいアイテムの作成: Parent に対する CreateResource既存のアイテムの更新: Item に対する UpdateContentアイテム プロパティの更新: Item に対する UpdateContent および UpdateProperties- DataSource :新しいデータ ソースの作成: Parent に対する CreateDatasource既存のデータ ソースの更新: UpdateContent データ ソース プロパティの更新: UpdateContent および UpdateProperties - Model : CreateModel |
SharePoint モードに必要なアクセス許可 | アイテムの種類によって異なります。 - Report 新しいレポートの作成: Parent に対する <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>、および Definition で定義されるデータ ソースとデータセットに対する <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>既存のレポートの更新: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> AND で Item 定義Definition されているデータ ソースとデータセットの AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems><xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> (Item プロパティが含まれている場合Properties )- DataSet 新しい共有データセットの作成: Parent に対する <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>、およびDefinition で定義されるデータ ソースに対する <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>既存の共有データセットの更新: Item に対する <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>、Definition で定義されるデータ ソースに対する <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>、および Item に対する <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> ( Properties にプロパティが含まれている場合)- Resource , DataSource , Component :新しいアイテムの作成: Parent に対する <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>既存のアイテムの更新: Item に対する <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>- Model : <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> オン Parent |
このメソッドでは、サポートされているすべての種類のアイテムを作成できます。 サポートされているアイテムの種類を確認するには、ListItemTypes メソッドを使用します。
アイテムの種類 Model
は上書きできません。 このため、Overwrite
が False
である場合は、ItemType
パラメーターを Model
に設定する必要があります。 それ以外の場合は、 rsInvalidParameterCombination 例外がスローされます。
が の場合ItemType
、XML データはレポート定義言語によって定義されます。Report
が の場合ItemType
、XML データはセマンティック モデル定義言語によって定義されます。Model
エラーが発生すると、アイテムは作成されません。
レポート サーバー データベースまたは SharePoint ライブラリにアイテムを追加すると、親フォルダーの ModifiedBy プロパティと ModifiedDate プロパティが変更されます。
該当するファイル名拡張子 (.rdl など) をアイテム名に含めない場合、rsFileExtensionRequired
エラーが返されます。
パラメーターの Parent
長さは 260 文字を超えることはできません。それ以外の場合は、エラー コード rsItemLengthExceeded で SOAP 例外がスローされます。
Parent
パラメーターを NULL または空の文字列にすることはできません。また、予約文字 : ? ; @ & = + $ , \ * > < | . "
を含めることもできません。 スラッシュ文字 (/) を使用して、フォルダーの完全なパス名内の項目を区切ることができますが、フォルダー名の末尾で使用することはできません。