Discover

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>