CreateReport 메서드
보고서 서버 데이터베이스에 새 보고서를 추가합니다.
네임스페이스: ReportService2005
어셈블리: ReportService2005(ReportService2005.dll)
구문
‘선언
<SoapHeaderAttribute("BatchHeaderValue")> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
Public Function CreateReport ( _
Report As String, _
Parent As String, _
Overwrite As Boolean, _
Definition As Byte(), _
Properties As Property() _
) As Warning()
‘사용 방법
Dim instance As ReportingService2005
Dim Report As String
Dim Parent As String
Dim Overwrite As Boolean
Dim Definition As Byte()
Dim Properties As Property()
Dim returnValue As Warning()
returnValue = instance.CreateReport(Report, _
Parent, Overwrite, Definition, Properties)
[SoapHeaderAttribute("BatchHeaderValue")]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
public Warning[] CreateReport(
string Report,
string Parent,
bool Overwrite,
byte[] Definition,
Property[] Properties
)
[SoapHeaderAttribute(L"BatchHeaderValue")]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
public:
array<Warning^>^ CreateReport(
String^ Report,
String^ Parent,
bool Overwrite,
array<unsigned char>^ Definition,
array<Property^>^ Properties
)
[<SoapHeaderAttribute("BatchHeaderValue")>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/CreateReport", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
member CreateReport :
Report:string *
Parent:string *
Overwrite:bool *
Definition:byte[] *
Properties:Property[] -> Warning[]
public function CreateReport(
Report : String,
Parent : String,
Overwrite : boolean,
Definition : byte[],
Properties : Property[]
) : Warning[]
매개 변수
- Report
유형: System. . :: . .String
새 보고서의 이름입니다.
- Parent
유형: System. . :: . .String
보고서를 추가할 부모 폴더의 정규화된 URL입니다.
- Overwrite
유형: System. . :: . .Boolean
지정한 위치에서 이름이 동일한 기존 보고서를 덮어쓸지 여부를 나타내는 Boolean 식입니다.
- Definition
유형: array<System. . :: . .Byte> [] () [] []
보고서 서버에 게시할 보고서 정의, 즉 .rdl 파일의 내용입니다. XML 데이터는 Report Definition Language(https://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/)에 의해 정의됩니다.
- Properties
유형: array<ReportService2005. . :: . .Property> [] () [] []
보고서에 대해 설정할 속성 이름과 값을 포함하는 Property 개체의 배열입니다.
반환 값
유형: array<ReportService2005. . :: . .Warning> [] () [] []
보고서 정의의 유효성을 검사할 때 발생한 모든 경고를 설명하는 Warning 개체의 배열입니다.
주의
The table below shows header and permissions information on this operation.
SOAP Headers |
(In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Required Permissions |
Creating a new report: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasets Updating an existing report: UpdateReportDefinition on Report AND UpdateProperties on Report (if Properties contains properties) AND UpdateProperties on the report's data sources AND UpdateProperties on the report's datasets |
The length of the Parent parameter cannot exceed 260 characters; otherwise, a SOAP exception is thrown with the error code rsItemLengthExceeded.
The Parent parameter cannot be null or empty or contain the following reserved characters: : ? ; @ & = + $ , \ * > < | . ". You can use the forward slash character (/) to separate items in the full path name of the folder, but you cannot use it at the end of the folder name.
If errors occur, the report is not created.
Adding a report to the report server database modifies the ModifiedBy and ModifiedDate properties of the parent folder.
예
To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example publishes a report in the form of a Report Definition Language (RDL) file to a report server database.
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());
}
}
}