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 새 보고서 만들기: CreateReport Parent 보고서의 데이터 원본 및 보고서의 데이터 세트에 대한 AND ReadPropertiesReadProperties기존 보고서 업데이트: UpdateReportDefinition Item (속성이 포함된 경우Properties ) 및 UpdatePropertiesItem 보고서의 데이터 원본 및 보고서의 데이터 세트에 대한 AND UpdatePropertiesUpdateProperties- DataSet 새 공유 데이터 세트 만들기: CreateReport Parent 데이터 세트의 데이터 원본에 대한 AND ReadProperties기존 공유 데이터 세트 업데이트: UpdateReportDefinition 및 UpdateProperties 켜 Item Item 기(속성이 포함된 경우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 정의된 Item Definition <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
경우 ItemType
Model
이어야 합니다False
. 그렇지 않으면 rsInvalidParameterCombination 예외가 throw됩니다.
가 이면 ItemType
XML 데이터가 보고서 정의 언어로 정의됩니다.Report
가 이Model
면 ItemType
XML 데이터는 의미 체계 모델 정의 언어로 정의됩니다.
오류가 발생하면 항목이 만들어지지 않습니다.
보고서 서버 데이터베이스 또는 SharePoint 라이브러리에 항목을 추가하면 부모 폴더의 및 ModifiedDate 속성이 수정됩니다ModifiedBy.
해당하는 파일 이름 확장명(예: .rdl)이 항목 이름 rsFileExtensionRequired
에서 제외되면 오류가 반환됩니다.
매개 변수의 Parent
길이는 260자를 초과할 수 없습니다. 그렇지 않으면 오류 코드 rsItemLengthExceeded와 함께 SOAP 예외가 throw됩니다.
매개 변수는 Parent
null이거나 비어 있거나 예약된 문자를 : ? ; @ & = + $ , \ * > < | . "
포함할 수 없습니다. 슬래시 문자(/)를 사용하여 폴더의 전체 경로 이름에 있는 항목을 구분할 수 있지만 폴더 이름 끝에 사용할 수는 없습니다.