分类:
2008-04-24 09:57:48
与导出大型对象一样,您可以指定被导出XML文档的存储路径,还可以指定输出文件的文件名。考虑下面的例子:
EXPORT TO prodexport.del DEL |
在这个例子中,PRODUCT表的关系数据被导出到prodexport.del文件。然后,所有XML数据都被写入到XML TO子句指定的目录d:\xmlpath中。包含XML数据的文件被命名为proddesc.ext.xml,其中ext是一个序列号(例如proddesc.001.xml、proddesc.002.xml、proddesc.003.xml等)。基本文件名是用XMLFILE选项定义的。
您也许还注意到,这个例子中使用了一些修饰符。下面对所有与XML相关的修饰符作一个总结。
XMLINSEPFILES导致导出实用程序将导出的每个XML文档写入到不同的XML文件中。
XMLNODECLARATION表明导出XML数据无需使用XML声明标记。默认情况下,XML标记被写在XML文档的开头,并包括一个编码属性。
XMLCHAR表明XML数据以字符码页编码。默认情况下,XML数据是以Unicode编码的。当使用这个修饰符的时候,使用的是codepage文件类型修饰符或应用程序码页。
XMLGRAPHIC表明无论是codepage文件类型修饰符还是应用程序码页,导出的XML数据将以UTF-16码页编码。注意,这个例子中没有使用XMLGRAPHIC。
我们要介绍的最后一个选项是XMLSAVESCHEMA。当插入一个XML文档时,可以用一个XML模式对其进行验证。XMLSAVESCHEMA选项导致导出实用程序还保存用于每个导出的XML数据的XML模式。那个模式的全限定SQL标识符将被存储为相应的XML data specifier(XDS)中的一个SCH属性。注意,如果没有用XML模式验证导出的XML文档,或者该模式对象不再存在于数据库中,那么相应的XDS中将不包括SCH属性。
下面显示了前面的导出例子的结果。
图4 |
用一个XQuery导出XML数据
EXPORT命令还允许指定一个XQuery语句,使导出实用程序将一个XQuery的结果导出到一个XML文件中。我们来看看下面的例子。
EXPORT TO custexport.del DEL |
前面例子中的XQuery返回存储在CUSTOMER表的XML列INFO下的每个客户的电话号码。这里讨论的所有XML选项和修饰符都适用于XQuery语句。因此,这个例子将为XQuery的每个结果生成单独的XML文档。这个文件存放在d:\xmlpath中,并且以custphone.ext.xml命名,其中ext是一个序列号。此外,文档中不包括XML声明标记。
下面是导出的一个XML文档的内容。
图5 |
从Control Center中导出
除了从DB2命令行执行EXPORT命令外,还可以使用Control Center进行导出。从Control Center这个工具中,可以指定导出实用程序支持的所有选项和子句,例如大型对象和XML数据。如下图所示,Schedule选项卡允许您创建一个任务,并调度在给定时间运行的导出。
图6 |