Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103713530
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-13 00:26:55

   来源:51cto  

删除元数据

使用DROP操作来删除元数据对象。

例子1:删除所有的元数据对象

要小心这个操作!下面是我们要使用的操作XML:

<olap:request xmlns:olap=""

xmlns:xsi=""

xmlns:xsd="" version="8.1.2.1.0">;

<drop objectType="all"/>;

</olap:request>;

例子⒉删除一个cube对象和它的关联对象

这里是删除db2admin.MyCube和它的关联对象的操作XML。

<olap:request xmlns:olap=""

xmlns:xsi=""

xmlns:xsd="" version="8.1.2.1.0">;

<script>;

<drop objectType="cube">;

<restriction>;

<predicate property="name" operator="=" value="My Cube"/>;

<predicate property="schema" operator="=" value="db2admin"/>;

</restriction>;

</drop>;

<drop objectType="cubeFacts">;

<restriction>;

<predicate property="name" operator="=" value="Cube Facts (My Cube)"/>;

<predicate property="schema" operator="=" value="db2admin"/>;

</restriction>;

</drop>;

<drop objectType="cubeDimension">;<restriction>;

<predicate property="name" operator="=" value="Market (My Cube)"/>;

<predicate property="schema" operator="=" value="db2admin"/>;

</restriction>;</drop>;

<drop objectType="cubeHierarchy">;

<restriction>;<predicate property="name" operator="=" value="Region (My Cube)"/>;

<predicate property="schema" operator="=" value="db2admin"/>;

</restriction>;

</drop>;

</script>;

</olap:request>;

没有元数据XML需要被传入。

排除错误

存储过程中的大部分错误是非常不需加以说明的,虽然你必须习惯用于消息中引用的对象的命名约定。因此,你常常必须非常认真的读这个信息。

下面是一个报告错误的API响应。是当我们试图删除一个不存在的Cube对象(db2admin.My Cube)时返回的信息。(请注意:由于页面的限制,状态消息被分成两行显示。)

<olap:response xmlns:olap=""

xmlns:xsi=""

xmlns:xsd="" version="8.1.2.1.0">;

<drop>;

<status id="6006" text="No objects were found matching search criteria:

"objectType=CUBE & name=My Cube & schema=db2admin"." type="warning">;

<tokens>;

<text value="objectType=CUBE & name=My Cube & schema=db2admin"/>;

</tokens>;

</status>;

</drop>;

</olap:response>;

跟踪

当一个错误出现的时候,你不清楚为什么应用程序接口会失败,那么常常需要启动应用程序接口跟踪。一般是开启高级跟踪,如果绝对必要的时候也可只开一个中级或者低级跟踪。

为了打开跟踪,象下面显示的这样修改你的配置文件DB2md_config.XML。每个DB2实例都有一个配置文件,你可以在实例目录中找到它。在Windows中,默认的DB2实例被命名为"DB2"并且配置文件可以在sqllib/db2/db2md_config.xml中找到。在下面的XML中,跟踪等级已经被设置为高级别。

<?xml version="1.0" encoding="UTF-8" ?>

<!-- <copyright> -->

<!-- Licensed Materials - Property of IBM -->

<!-- 5724-E15 -->

<!-- (c) Copyright IBM Corp. 2002, 2003 All Rights Reserved. -->

<!-- US Government Users Restricted Rights - Use, duplication or disclosure -->

<!-- restricted by GSA ADP Schedule Contract with IBM Corp. -->

<!-- </copyright> -->

<olap:config xmlns:olap="">

<log>

<trace level="high" logFile="db2mdtrace.log" bufferSize="0"/>

<error level="medium" logFile="db2mderror.log" bufferSize="0"/>

</log>

</olap:config>

注意:不要试图更改跟踪文件的名字。它必须被称作db2mdtrace.log。跟踪文件db2mdtrace.log可以在实例目录中找到。

创建元数据桥

一个元数据桥是一个软件组件或者公用程序,把元数据从一种格式映射到另一种格式。元数据桥被开发,以便在一个第三方业务智能工具或者OLAP工具与DB2 Cube View之间交换元数据。

图1 一个元数据桥

例如,IBM提供了一个DB2 Cube View和IBM DB2 OLAP Server产品之间的桥。更确切地说,这个桥在DB2 Cube View和DB2 OLAP Server上的OLAP Integration Server之间交换元数据。

当设计一个元数据桥的时候,有许多事项需要考虑。我们将更详细地讨论其中的一些问题。

· DB2 Cube View元数据对象模型与其它格式的兼容性/相似性?

· 桥是单向还是双向?

· 每次映射什么级别的元数据?通常,Cube模型或者Cube对象(连同所有被引用的对象一起)是一个桥的来源或者目标。

· 桥支持和管理逐渐增加的元数据变化吗?

· 使用哪种程序设计语言?

· 对于这种程序设计语言,哪些XML语法分析程序有效?

· 当使用DB2 Cube View元数据的时候,桥会调用应用程序接口来读取元数据或者读入一个输出元数据XML文件吗?

· 当产生DB2 Cube View元数据的时候,桥将调用应用程序接口来创建元数据,或者把元数据写入一个XML文件吗?

阅读(387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~