GetReportParameters 메서드
지정된 보고서에 대한 보고서 매개 변수 속성을 반환합니다. GetReportParameters(String, String, Boolean, array<ParameterValue>[]()[][], array<DataSourceCredentials>[]()[][]) 메서드를 사용하여 지정된 보고서의 매개 변수에 대해 매개 변수 값의 유효성을 검사할 수도 있습니다.
네임스페이스: ReportService2006
어셈블리: ReportService2006(ReportService2006.dll)
구문
‘선언
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", _
ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Function GetReportParameters ( _
Report As String, _
HistoryID As String, _
Values As ParameterValue(), _
Credentials As DataSourceCredentials() _
) As ReportParameter()
‘사용 방법
Dim instance As ReportingService2006
Dim Report As String
Dim HistoryID As String
Dim Values As ParameterValue()
Dim Credentials As DataSourceCredentials()
Dim returnValue As ReportParameter()
returnValue = instance.GetReportParameters(Report, _
HistoryID, Values, Credentials)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public ReportParameter[] GetReportParameters(
string Report,
string HistoryID,
ParameterValue[] Values,
DataSourceCredentials[] Credentials
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
array<ReportParameter^>^ GetReportParameters(
String^ Report,
String^ HistoryID,
array<ParameterValue^>^ Values,
array<DataSourceCredentials^>^ Credentials
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportParameters", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member GetReportParameters :
Report:string *
HistoryID:string *
Values:ParameterValue[] *
Credentials:DataSourceCredentials[] -> ReportParameter[]
public function GetReportParameters(
Report : String,
HistoryID : String,
Values : ParameterValue[],
Credentials : DataSourceCredentials[]
) : ReportParameter[]
매개 변수
- Report
유형: System. . :: . .String
파일 이름과 .rdl 파일 이름 확장명을 포함하는 보고서의 정규화된 URL입니다.
- HistoryID
유형: System. . :: . .String
보고서 기록 스냅숏의 ID입니다. 보고서 기록 스냅숏에 대해 매개 변수 속성을 검색하려면 ForRendering 매개 변수 값을 true로 설정합니다. 보고서 기록 스냅숏이 아닌 보고서에 대해 매개 변수를 검색하려면 이 값을 nullNothingnullptrunitnull 참조(Visual Basic에서는 Nothing)(Visual Basic에서는 Nothing)로 설정합니다.
- Values
유형: array<ReportService2006. . :: . .ParameterValue> [] () [] []
보고서의 매개 변수에 대해 유효성을 검사할 수 있는 매개 변수 값(ParameterValue 개체)입니다.
- Credentials
유형: array<ReportService2006. . :: . .DataSourceCredentials> [] () [] []
쿼리 매개 변수의 유효성을 검사하는 데 사용할 수 있는 데이터 원본 자격 증명(DataSourceCredentials 개체)입니다.
반환 값
유형: array<ReportService2006. . :: . .ReportParameter> [] () [] []
보고서에 대한 매개 변수를 나열하는 ReportParameter 개체의 배열입니다.
주의
The table below shows header and permissions information on this operation.
SOAP Headers |
(Out) ServerInfoHeaderValue |
Required Permissions |
ViewListItems()()()() |
If the execution setting for the report is Snapshot, the parameter metadata that is returned is the data that was used when the report history snapshot was created. If the execution setting for the report is Live, the parameter metadata returned represents the parameter data that is associated with the specified report.
If you provide a value for the HistoryID parameter and set the ForRendering parameter value to true, the parameter metadata returned represents the parameter data that was used when the report history snapshot was created. The value supplied for HistoryID is ignored if ForRendering is set to false. If ForRendering is false, the parameter metadata returned represents the parameter data that is currently associated with the specified report.
If any parameters values are based on a query and you are interested in returning the query-based parameters' valid values list, set ForRendering to true. In addition, for query-based parameters, you must pass in all the credential information that is required to return the query parameters.
When using the GetReportParameters(String, String, Boolean, array<ParameterValue>[]()[][], array<DataSourceCredentials>[]()[][]) method to validate parameters, the Values parameter is required.
If report parameters do not exist for the given report, an empty ReportParameter array is returned.
예
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)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
"ReportService2006.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
string report = "http://<Server Name>/Docs/Documents" +
"/AdventureWorks Sample Reports/" +
"Employee Sales Summary.rdl";
string historyID = null;
ParameterValue[] values = null;
DataSourceCredentials[] credentials = null;
ReportParameter[] parameters = null;
try
{
parameters = rs.GetReportParameters(report, historyID,
values, credentials);
if (parameters != null)
{
foreach (ReportParameter rp in parameters)
{
Console.WriteLine("Name: {0}", rp.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 ReportingService2006()
rs.Url = "http://<Server Name>/_vti_bin/" + _
"ReportServer/ReportService2006.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim report As String = "http://<Server Name>" + _
"/Docs/Documents/AdventureWorks Sample Reports" + _
"/Employee Sales Summary.rdl"
Dim historyID As String = Nothing
Dim values As ParameterValue() = Nothing
Dim credentials As DataSourceCredentials() = Nothing
Dim parameters As ReportParameter() = Nothing
Try
parameters = rs.GetReportParameters(report, historyID, _
values, credentials)
If Not (parameters Is Nothing) Then
Dim rp As ReportParameter
For Each rp In parameters
Console.WriteLine("Name: {0}", rp.Name)
Next rp
End If
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class