· 第一类应用程序"直接固定"到DB2 Cube View上。它们读取元数据并直接使用它来分析DB2数据库,通常通过使用元数据构建SQL查询。最常见的情况是,这些工具查询和报告DB2 Cube View Cube模型和Cube对象。
· 第二类工具把Cube View元数据从DB2传到它们自己的工具,然后基于它们的元数据查询DB2。这些工具必须把DB2 Cube View元数据映射为它们自己的元数据。映射的复杂性取决于元数据的类似性。
元数据生产者
注意并非所有对DB2 Cube View元数据感兴趣的应用程序都要读取它。另一类工具和应用程序产生元数据并把它推进DB2。维度元数据常常在数据库设计、提取-转换-载入(ETL)及其他数据库管理工具中产生。 通过把维度元数据传送到DB2 UDB,这些工具可以利用早先提到的最优化和管理等优点。
显然,工具和应用程序需要一个与DB2中的Cube View元数据交互的方法,以便读取、创建、修改和删除元数据对象。DB2 Cube View提供一个API,用于进行这些操作。
应用程序接口概述-DB2info.md_message()
DB2 Cube View应用程序接口是一个用于访问维度元数据的接口。它作为一个DB2存储过程被实现,名为db2info.md_message(),传送XML文档进出它所有的参数。一个存储过程的优点就在于应用程序接口成为中性语言。任何能够与DB2会话的程序设计语言都可以调用这个存储过程。你可以通过ODBC或者JDBC等等使用嵌入式SQL、动态SQL。
在DB2 Cube View Setup and User ' s Guide一书的附录里有这个API的详尽的描述。在本文中,我们将介绍几个例子。
输入参数
存储过程有下面的语法:
DBINFO.MD_MESSAGE(operation IN, metadata IN/OUT, response OUT)
所有的参数是CLOB类型。
存储过程有两个输入参数。第一个是必需的,指定调用程序想执行什么操作。这个操作是:
DESCRIBE
CREATE
ALTER
RENAME
DROP
IMPORT
VALIDATE
某些操作(像CREATE和IMPORT)要求元数据通过第二个参数被传入存储过程。一个操作DESCRIBE通过第二个参数返回元数据。
输出参数
存储过程的第三个参数是一个输出参数。对于每个到这个存储过程的调用,都会通过第三个参数返回一个响应文档。然而,如果出现某些严重错误,那么没有输出响应文档被创建。
