如何为DB2 Cube Views构建元数据桥
2008-05-15 14:58:15 来源:WEB开发网读取元数据
在获得成功调用该 API 的一些代码之后,将需要把注意力放在将正确的 XML 传递给该 API,以及能够解析输出 XML。
大多数程序将需要通过使用 DESCRIBE 操作来从 DB2 Cube Views 读取元数据。下面是一些示例:
示例 1. 读取所有元数据
下面是您要使用的操作 XML:
<
olap:request xmlns:olap="http://www.ibm.com/olap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="8.1.2.1.0">
<describe objectType="all" recurse="no">
</describe>
</olap:request>
注:
调用程序和服务器上的 DB2 存储过程之间的版本号(如 8.1.2.1.0)必须一致。
请注意,应该将请求标记限定为 <olap:request> 。
输出时,第二个参数将返回包含元数据的 CLOB。通常会返回许多对象。如果 DB2 只有一个 Attribute 对象,那么输出元数据 XML 将类似于:
<olap:metadata xmlns:olap="http://www.ibm.com/olap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="8.1.2.1.0">
<attribute name="FAMILY" schema="MDSAMPLE" businessName="FAMILY"
createTime="2003-04-11T21:28:22" creator="db2admin">
<datatype schema="SYSIBM" name="VARCHAR" length="15" scale="0"/>
<sqlExpression template="{$$1}">
<column name="FAMILY" tableSchema="MDSAMPLE" tableName="FAMILY"/>
</sqlExpression>
</attribute>
</olap:metadata>
如果成功,响应文档将类似于:
<olap:response xmlns:olap="http://www.ibm.com/olap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="8.1.2.1.0">
<describe>
<status id="0" text="Operation completed successfully. No errors were encountered."
type="informational"/>
</describe>
</olap:response>
示例 2. 获取特定的多维数据模型及相关对象
下面是您将用来获取 db2admin.MyCubeModel 的多维数据模型及其相关对象的操作 XML:
<olap:request xmlns:olap="http://www.ibm.com/olap"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="8.1.2.1.0">
<describe objectType="cubeModel"
recurse="yes">
<restriction>
<predicate property="name" operator="=" value="MyCubeModel"/>
<predicate property="schema" operator="=" value="db2admin"/>
</restriction>
</describe>
</olap:request>
注:
Recurse="yes" 告诉 API 返回多维数据模型以及该多维数据模型递归引用的所有对象。
请注意,谓词的运用,谓词指定我们感兴趣的多维数据模型。
更多精彩
赞助商链接