次の方法で共有


ReportingService2006.GetReportParameters メソッド

定義

指定したレポートのレポート パラメーター プロパティを返します。 GetReportParameters(String, String, ParameterValue[], DataSourceCredentials[]) メソッドは、レポートのパラメーターで指定したパラメーター値を検証するために使用することもできます。

public:
 cli::array <ReportService2006::ReportParameter ^> ^ GetReportParameters(System::String ^ Report, System::String ^ HistoryID, cli::array <ReportService2006::ParameterValue ^> ^ Values, cli::array <ReportService2006::DataSourceCredentials ^> ^ Credentials);
public ReportService2006.ReportParameter[] GetReportParameters (string Report, string HistoryID, ReportService2006.ParameterValue[] Values, ReportService2006.DataSourceCredentials[] Credentials);
member this.GetReportParameters : string * string * ReportService2006.ParameterValue[] * ReportService2006.DataSourceCredentials[] -> ReportService2006.ReportParameter[]
Public Function GetReportParameters (Report As String, HistoryID As String, Values As ParameterValue(), Credentials As DataSourceCredentials()) As ReportParameter()

パラメーター

Report
String

ファイル名と .rdl ファイル名拡張子を含む、レポートの完全修飾 URL です。

HistoryID
String

レポート履歴スナップショットの ID です。 レポート履歴スナップショットForRenderingのパラメーター プロパティを取得するには、 パラメーターを のtrue値に設定します。 レポート履歴スナップショットでないレポートのパラメーターを取得する場合は、値に null (Visual Basic では Nothing) を設定します。

Values
ParameterValue[]

レポートのパラメーターに対して検証できるパラメーター値 (ParameterValue オブジェクト) です。

Credentials
DataSourceCredentials[]

クエリ パラメーターを検証するために使用するデータ ソース資格情報 (DataSourceCredentials オブジェクト) です。

戻り値

レポートの 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  

注釈

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

SOAP ヘッダー (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
必要なアクセス許可 <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>

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

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

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

GetReportParameters メソッドを使用してパラメーターを検証する場合は、Values パラメーターが必須です。

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

適用対象