如何为DB2 Cube Views构建元数据桥
2008-05-15 14:58:15 来源:WEB开发网元数据生产者
请注意:并非所有对 DB2 Cube Views 元数据感兴趣的应用程序都读取元数据,这一点也很重要。还有一类工具和应用程序产生元数据并将它 推入 DB2。维元数据通常来自数据库设计、抽取-转换-装入(extract-transform-load,ETL)和其它数据库管理工具。通过使维元数据流入 DB2 UDB,这些工具可以利用先前提到的这些优化和管理好处。
显然,为了读取、创建、修改和删除元数据对象,工具和应用程序需要一种与 DB2 中多维数据视图元数据交互的方法。
DB2 Cube Views 为此提供了一个 API,我们接下来将研究它。
API — db2info.md_message() 的概述
DB2 Cube Views API 是用于访问维元数据的接口。它以名为 db2info.md_message() 的 DB2 存储过程的方式实现,该存储过程为其所有参数传入(出)XML 文档。
存储过程的优点是使该 API 变成与语言无关。任何可以与 DB2 交流的编程语言都可以调用这个存储过程。可以使用嵌入式 SQL 和通过 ODBC 或 JDBC™ 的动态 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 通过第二个参数返回元数据。
输出参数
该存储过程的第三个参数是输出参数。对于对该存储过程的每个调用,都会通过第三个参数返回响应文档。然而,如果发生某些严重错误,则不会创建任何输出响应文档。
解析 XML
要使用 API,程序必须构造要传入该存储过程的 XML 文档。还需要解析该存储过程所返回的 XML。
DB2 Cube Views API 使用的 XML 的语法由随该产品一起提供的 XSD 模式文件(位于 sqllib/cfg 目录中)指定。您将使用的 XSD 模式文件如 表 1所示。
表 1. 与输入和输出参数相关联的 XSD 文件
API 参数 | 模式文件 |
操作和响应
(第一个和第三个参数) |
db2md_parameter.xsd |
元数据(第二个参数) | db2md_metadata.xsd 和
db2md_types.xsd |
更多精彩
赞助商链接