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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-24 09:57:18

作者: 佚名 出处:  

LOB Location Specifier

当使用LOBSINFILE修饰符导出大型对象时,会生成一个LOB Location Specifier (LLS),后者将被存储在导出输出文件中。LLS是一个字符串,用于表明在哪里可以找到LOB数据。LLS的格式为filename.ext.lob.nnn.mmm/。我们来更详细地看看这个格式:

filename.ext.lob是包含LOB数据的文件的文件名。ext是一个序列号,如前所述。

nnn是大型对象在LOB文件中的偏移位置,以字节计。

mmm是大型对象的长度,以字节计。

例如,resume.001.lob.1257.2415/表明大型对象位于resume.001.lob文件中,实际的LOB数据从文件的第1257个字节开始,其长度为2,415个字节。

为了清楚地说明LLS的用法,可以看看下面的例子。

EXPORT TO empresume.del DEL
LOBS TO d:\lob1\
LOBFILE resume
MODIFIED BY LOBSINFILE
MESSAGES msg.out
SELECT * FROM emp_resume

图1

使用LOBSINSEPFILES修饰符导出大型对象

如前面的小节所示,您还可以选择完整地导出LOB数据并将它们分别存储在单独的文件中。前面描述的LOB选项还是一样的,不同的是这里使用了LOBSINSEPFILES修饰符。

下面是使用LOBSINSEPFILES修饰符的一个例子。

EXPORT TO empresume.del DEL
LOBS TO d:\lob1\
LOBFILE resume
MODIFIED BY LOBSINSEPFILES
MESSAGES msg.out
SELECT * FROM emp_resume

上面的EXPORT命令将把LOB数据写入到具有resume.ext.lob文件名的文件中(即resume.001.lob、resume.002.lob、resume.003.lob等),这些文件都位于LOB路径d:\lob1中。

导出XML数据

随着DB2 9.1中引入了本地XML支持,导出实用程序也被扩展,以支持XML。如果没有指定任何与XML相关的选项而导出一个表(用XML数据定义的),那么相关的XML数据将被写入到与导出的其他关系数据分开的一个或多个文件中。让我们看一个例子。下面的EXPORT命令是在PRODUCT表上发出的,该表中定义了一个XML列:

EXPORT TO prodexport.del DEL
MESSAGES msg.out
SELECT * FROM product

在这个例子中,导出实用程序将生成两个输出文件。其中一个输出文件是prodexport.del,该文件将包含表中的关系数据和XML data specifier (XDS)。

图2

XDS是用名为“XDS”的一个XML标记表示的字符串。它具有一些属性,用于描述关于列中实际的XML数据的信息。下面是XDS字符串中可能出现的一些属性:

FIL指定包含XML数据的文件的文件名。
OFF指定XML数据在FIL属性指定的文件中的字节偏移量。
LEN指定FIL属性中指定的文件中的XML数据的字节长度。
SCH指定用于验证XML文档的XML模式的全限定SQL标识符。下一屏中将讨论这个属性。

从前面prodexport.del的内容中可以看出,第一个XML数据存储在prodexport.del.001.xml中,从0字节偏移位置开始,长度为252个字节。

在这个例子中,导出实用程序生成的另一个文件是prodexport.del.001.xml,该文件包含XML内容。导出的每个XML数据都被连接在一起写入到这个文件中。下面是prodexport.del.001.xml文件的内容。

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