Discoverメソッドは、サーバー上のデータ・ソースのリストまたはデータ・ソースに関する詳細などの情報を取得します。Discoverメソッドで取得されるデータは、メソッドに渡されたパラメータの値により異なります。
ネームスペース
urn:schemas-microsoft-com:xml-analysis
SOAPアクション
"urn:schemas-microsoft-com:xml-analysis:Discover"
構文
Discover ( [in] RequestType As EnumString, [in] Restrictions As Restrictions, [in] Properties As Properties, [out] Result As Rowset)
パラメータ
RequestType [in]
この必須パラメータは、RequestType列挙値で構成されます。これは、戻される情報のタイプを特定します。RequestType列挙は、Discoverメソッドによって使用され、Resultパラメータで戻された行セットの構造およびコンテンツを特定します。また、Restrictionsパラメータ・フォーマットおよびXML結果セットも、このパラメータで指定された値に依存します。この列挙は、プロバイダ特有の列挙文字列をサポートするために拡張できます。
各RequestType列挙値は、戻り行セットに対応します。行セットの定義は、XMLA行セットの説明を参照してください。次の明示的に名前を付けられたRequestType列挙値には、サポートが必要です。
列挙値
|
説明 |
---|---|
DISCOVER_DATASOURCES
|
サーバーまたはWebサービスで利用可能なXMLAデータ・ソースのリストを戻します。 |
DISCOVER_PROPERTIES |
指定されたデータ・ソース(プロバイダ)がサポートする、要求されたプロパティに関する情報および値のリストを戻します。 |
DISCOVER_SCHEMA_ROWSETS |
(ここに記載されたものを含む)サポートされているすべてのRequestType列挙値の名前、値、他の情報および追加のプロバイダ特有の列挙値を戻します。 |
DISCOVER_ENUMERATORS |
特定のデータ・ソースのプロバイダがサポートする列挙子の名前、データ型および列挙値のリストを戻します。 |
DISCOVER_KEYWORDS |
プロバイダが予約しているキーワードのリストを含む行セットを戻します。 |
DISCOVER_LITERALS |
データ・ソース・プロバイダがサポートするリテラルに関する情報を戻します。スキーマ行セット定数が指定されている場合、MDSCHEMA_CUBESなどOLE DBによって定義されたスキーマ行セット名の1つに対応する定数は、XMLフォーマットでOLE DBスキーマ行セットを戻します。追加のプロバイダ特有のスキーマ行セットの提供により、プロバイダもOLEDBを拡張できることに注意してください。表データ・プロバイダ(TDP)および多次元データ・プロバイダ(MDP)がサポートする必要があるスキーマ行セットは、セクション「DISCOVER_SCHEMA_ROWSETS行セット」にリストされています。 |
Restrictions [in]
Restrictionsデータ型のこのパラメータによって、Resultで戻されるデータを制限できます。Result列は、RequestTypeパラメータで指定された行セットによって定義されます。Resultのいくつかの列は、戻された行をフィルタできます。これらの列および制限できる列については、XMLA行セットの説明にある行セット表を参照してください。プロバイダ特有のスキーマ行セットの制限情報を取得するには、DISCOVER_SCHEMA_ROWSETS要求タイプを使用します。このパラメータは空でもかまいませんが、含まれている必要があります。
Properties [in]
Propertiesデータ型のこのパラメータは、XMLAプロパティの集合で構成されます。各プロパティによって、結果セットの戻りフォーマット、タイムアウトまたはデータがフォーマットされるロケールを指定するなど、Discoverメソッドのある側面を制御できます。
DiscoverメソッドとDISCOVER_PROPERTIES要求タイプを使用することにより、利用可能なプロパティを取得できます。
Propertiesパラメータ内のプロパティには、必須の順序がありません。このパラメータは空でもかまいませんが、含まれている必要があります。
Result [out]
この必須パラメータは、Rowsetオブジェクトとしてプロバイダが戻す結果セットを含んでいます。結果セットの列およびコンテンツは、RequestTypeおよびRestrictionsパラメータの値によって指定されます。戻された結果セットの列レイアウトは、RequestTypeで指定された値によっても特定されます。各RequestType値に対応する行セットのレイアウトについては、XMLA行セットを参照してください。
例
次のサンプルでは、クライアントは、Demoカタログからキューブのリストを要求するXML Discoverコールを送信します:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <Discover xmlns="urn:schemas-microsoft-com:xml-analysis" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <RequestType>MDSCHEMA_CUBES</RequestType> <Restrictions> <RestrictionList> <CATALOG_NAME>Demo</CATALOG_NAME> </RestrictionList> </Restrictions> <Properties> <PropertyList> <DataSourceInfo> Provider=Essbase;Data Source=localhost </DataSourceInfo> <Format>Tabular</Format> </PropertyList> </Properties> </Discover> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
プロバイダはクライアントに次の結果を戻します:
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:DiscoverResponse xmlns:m="urn:schemas-microsoft-com:xml-analysis"> <m:return xsi:type="xsd:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:schema xmlns="urn:schemas-microsoft-com:xml-analysis:rowset" targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:xml-sql" elementFormDefault="qualified"> <xsd:element name="root"> <xsd:complexType> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element name="row" type="row"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="row"> <xsd:sequence maxOccurs="unbounded" minOccurs="0"> <xsd:element name="CATALOG_NAME" type="xsd:string" sql:field="CATALOG_NAME"/> <xsd:element name="CUBE_NAME" type="xsd:string" sql:field="CUBE_NAME"/> <xsd:element name="CUBE_TYPE" type="xsd:string" sql:field="CUBE_TYPE"/> <xsd:element name="LAST_SCHEMA_UPDATE" type="xsd:dateTime" sql:field="LAST_SCHEMA_UPDATE" minOccurs="0"/> <xsd:element name="DESCRIPTION" type="xsd:string" sql:field="DESCRIPTION" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:schema> <row> <CATALOG_NAME>Demo</CATALOG_NAME> <CUBE_NAME>Demo.Basic</CUBE_NAME> <CUBE_TYPE>CUBE</CUBE_TYPE> </row> </root> </m:return> </m:DiscoverResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>