ReportingService2010.CreateCatalogItem メソッド

定義

レポート サーバー データベースまたは SharePoint ライブラリに新しいアイテムを追加します。 このメソッドは、アイテムの種類 ReportModelDatasetComponentResource、および 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 レポート定義、レポート モデル定義、またはリソース コンテンツです。

Properties
Property[]

アイテムに設定するプロパティの名前と値を含む Property オブジェクトの配列です。

Warnings
Warning[]

[out] アイテムの検証時に発生したすべての警告を表す Warning オブジェクトの配列です。

戻り値

新しく作成されたアイテムの 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 に対する UpdateReportDefinitionItem に対する 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 は上書きできません。 このため、OverwriteFalse である場合は、ItemType パラメーターを Model に設定する必要があります。 それ以外の場合は、 rsInvalidParameterCombination 例外がスローされます。

が の場合ItemType、XML データはレポート定義言語によって定義されますReport が の場合ItemType、XML データはセマンティック モデル定義言語によって定義されますModel

エラーが発生すると、アイテムは作成されません。

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

該当するファイル名拡張子 (.rdl など) をアイテム名に含めない場合、rsFileExtensionRequired エラーが返されます。

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

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

適用対象