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>