次の方法で共有


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 を設定します。レポート履歴スナップショットでないレポートのパラメーターを取得する場合は、値に NULL (Visual Basic では Nothing) を設定します。

戻り値

型: array<ReportService2006. . :: . .ReportParameter> [] () [] []
レポートのパラメーターの一覧を表す ReportParameter オブジェクトの配列です。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダー

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

必要な権限

ViewListItems()()()()

レポートの実行設定が Snapshot の場合は、レポート履歴スナップショットが作成されたときに使用されたデータがパラメーター メタデータとして返されます。レポートの実行設定が Live の場合、返されるパラメーター メタデータは、指定したレポートに関連付けられたパラメーター データを表します。

HistoryID パラメーターに値を指定し、ForRendering パラメーターの値が true に設定されている場合、返されるパラメーター メタデータは、レポート履歴スナップショットが作成されたときに使用されたパラメーター データを表します。ForRendering が false に設定されている場合、HistoryID に設定された値は無視されます。ForRendering が false に設定されている場合、返されるパラメーター メタデータは、指定したレポートに現在関連付けられているパラメーター データを表します。

任意のパラメーター値がクエリに基づいており、クエリに基づいたパラメーターの有効な値の一覧を取得する場合は、ForRendering を true に設定します。また、クエリに基づいたパラメーターには、クエリ パラメーターを返すために必要なすべての資格情報を渡す必要があります。

GetReportParameters(String, String, Boolean, array<ParameterValue>[]()[][], array<DataSourceCredentials>[]()[][]) メソッドを使用してパラメーターを検証する場合は、Values パラメーターが必須です。

指定したレポートにレポート パラメーターが存在しない場合、空の ReportParameter 配列が返されます。

使用例

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