다음을 통해 공유


ReportingService2010.CreateCatalogItem 메서드

정의

보고서 서버 데이터베이스 또는 SharePoint 라이브러리에 새 항목을 추가합니다. 이 메서드는 Report, Model, Dataset, Component, ResourceDataSource 항목 유형에 적용됩니다.

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
새 보고서 만들기: CreateReportParent 보고서의 데이터 원본 및 보고서의 데이터 세트에 대한 AND ReadPropertiesReadProperties
기존 보고서 업데이트: UpdateReportDefinitionItem (속성이 포함된 경우Properties) 및 UpdatePropertiesItem 보고서의 데이터 원본 및 보고서의 데이터 세트에 대한 AND UpdatePropertiesUpdateProperties
- DataSet
새 공유 데이터 세트 만들기: CreateReportParent 데이터 세트의 데이터 원본에 대한 AND ReadProperties
기존 공유 데이터 세트 업데이트: UpdateReportDefinitionUpdatePropertiesItemItem 기(속성이 포함된 경우Properties) 및 UpdateProperties 데이터 세트의 데이터 원본
- Resource, Component:
새 항목 만들기: CreateResource 켜기 Parent
기존 항목 업데이트: UpdateContent 켜기 Item
항목 속성 업데이트: UpdateContent AND UpdateProperties 켜기 Item
- DataSource:
새 데이터 원본 만들기: CreateDatasource 켜기 Parent
기존 데이터 원본 업데이트: UpdateContent
데이터 원본 속성 업데이트: UpdateContent AND UpdateProperties
- Model: CreateModel
SharePoint 모드 필수 권한 항목 유형에 따라 다릅니다.

- Report
새 보고서 만들기: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>Parent 및 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> 에 정의된 데이터 원본 및 데이터 세트 Definition
기존 보고서 업데이트: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> AND에 Item 정의된 데이터 원본 및 데이터 세트의 AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Item<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> 에서Definition(속성이 포함된 경우Properties)
- DataSet
새 공유 데이터 세트 만들기: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>Parent 에 정의된 데이터 원본의 AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definition
기존 공유 데이터 세트 업데이트: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> 에 Item 정의된 ItemDefinition<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> 데이터 원본의 AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> 에서(속성이 포함된 경우)Properties
- Resource, DataSource, Component:
새 항목 만들기: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> 켜기 Parent
기존 항목 업데이트: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> 켜기 Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent

이 메서드는 지원되는 모든 항목 형식의 항목을 만들 수 있습니다. 지원되는 항목 유형을 확인하려면 메서드를 ListItemTypes 사용합니다.

Model 항목 유형을 덮어쓸 수 없습니다. 따라서 매개 변수는 인 Overwrite 경우 ItemTypeModel이어야 합니다False. 그렇지 않으면 rsInvalidParameterCombination 예외가 throw됩니다.

가 이면 ItemType XML 데이터가 보고서 정의 언어로 정의됩니다.Report 가 이ModelItemType XML 데이터는 의미 체계 모델 정의 언어로 정의됩니다.

오류가 발생하면 항목이 만들어지지 않습니다.

보고서 서버 데이터베이스 또는 SharePoint 라이브러리에 항목을 추가하면 부모 폴더의 및 ModifiedDate 속성이 수정됩니다ModifiedBy.

해당하는 파일 이름 확장명(예: .rdl)이 항목 이름 rsFileExtensionRequired 에서 제외되면 오류가 반환됩니다.

매개 변수의 Parent 길이는 260자를 초과할 수 없습니다. 그렇지 않으면 오류 코드 rsItemLengthExceeded와 함께 SOAP 예외가 throw됩니다.

매개 변수는 Parent null이거나 비어 있거나 예약된 문자를 : ? ; @ & = + $ , \ * > < | . "포함할 수 없습니다. 슬래시 문자(/)를 사용하여 폴더의 전체 경로 이름에 있는 항목을 구분할 수 있지만 폴더 이름 끝에 사용할 수는 없습니다.

적용 대상