我已经可以查询其返回的国家和最后处理的日期分析服务立方XML作为,像这样:

查询:

<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
  <RequestType>DISCOVER_XML_METADATA</RequestType>
  <Restrictions >
    <RestrictionList xmlns="urn:schemas-microsoft-com:xml-analysis">
      <DatabaseID>SSAS - Premium and Claims V2</DatabaseID>
      <CubeID>PDW04 1</CubeID>
      <ObjectExpansion>ReferenceOnly</ObjectExpansion>
    </RestrictionList>
  </Restrictions>
  <Properties />
</Discover>

结果是:

<return xmlns="urn:schemas-microsoft-com:xml-analysis">
  <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 targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset" 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:simpleType name="uuid">
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}" />
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="xmlDocument">
        <xsd:sequence>
          <xsd:any />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="row">
        <xsd:sequence>
          <xsd:element sql:field="METADATA" name="METADATA" type="xmlDocument" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
    <row>
      <xars:METADATA xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:xars="urn:schemas-microsoft-com:xml-analysis:rowset">
        <Cube>
          <Name>Premium</Name>
          <ID>PDW04 1</ID>
          <CreatedTimestamp>2008-11-23T22:31:06</CreatedTimestamp>
          <LastSchemaUpdate>2009-01-22T00:50:13</LastSchemaUpdate>
          <LastProcessed>2009-01-07T22:28:34</LastProcessed>
          <State>Processed</State>
        </Cube>
      </xars:METADATA>
    </row>
  </root>
</return>

我想要能够使用这个可查询的一体化服务包装、分析和储存的结果在SQL服务器数据库表。但是唯一的任务,这似乎执行一个可查询的"分析服务的执行言"的任务,其中没有一个方法回返查询的结果尽我所能告诉。

没有任何人有任何建议,关于如何实现这一目标?

有帮助吗?

解决方案

虽然可以运行"常规"MDX/可通过各种机制在SSIS,包括通过执行SQL任务,它将始终把它包里面。是一个顶级的方法一样,不能包裹内,因此这个问题。

你已经有了两个可能的解决方案:

  1. 包装你可以在内部执行SQL任务使用一个OPENQUERY呼吁内部的关系数据库。你会做这样的事情SELECT*from OPENQUERY()以及实际上你可以做好的分析XML结果内部SQL服务器。
  2. 打开你的船舶安全警报系统服务器的配置HTTP访问(http://www.microsoft.com/technet/prodtechnol/sql/2005/httpasws.mspx)所以你可以送可作为一个网络服务的呼吁。有一个网络服务任务在SSIS你可以用它来执行和消费的结果。

这两个选项显然有一些缺点。

其他提示

有关查询命令:

这都非常好,我说:

创建使用XMLA名称空间问题的发现查询脚本任务。一旦收到响应解析XMLA并添加到VB.NET DataTable,并解析的数据插入到SQL表。

您还可以使用在2008年SSAS新DMV语法或 ASSP 的DMV功能,在2005年SSAS以表格格式返回该数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top