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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-14 13:08:29

    来源:51cto    作者:sziewa

删除元数据

使用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文件吗?

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