DB2 实用程序介绍之IMPORT实用程序(2)

http://www.itjxue.com  2015-07-17 11:42  来源:未知  点击次数: 

  导入 XML 数据

  为了导入 XML 文件,可以使用 XML FROM 选项指定 XML 文件所在的一个或多个路径。否则,导入实用程序将在当前目录中查找 XML 文件。您可以选择如何解析 XML 文档;是去掉空白还是保留空白。如果没有指定 XMLPARSE 选项,那么将根据 CURRENT XMLPARSE OPTION 专用寄存器来决定对 XML 文档的解析行为。下面是关于 XML FROM 和 XMLPARSE 选项的一个例子。

  IMPORT FROM myfile.ixf OF IXF

  XML FROM d:\xmlpath

  XMLPARSE PRESERVE WHITESPACE

  MESSAGES msg.out

  INSERT INTO newtable

  当插入或更新一个 XML 文档时,您可能想确定 XML 文档的结构、内容和数据类型是否有效。导入实用程序还通过 XMLVALIDATE 选项提供了对 XML 验证的支持。下面是可用的三种方法。

  •   USING XDS —— 回想一下,您可以导出 XML 模式信息并将它存储在 XML Data Specifier (XDS) 的 SCH 属性中。SCH 属性的值将用于执行验证。如果在 XDS 中没有 SCH 属性,则考虑 DEFAULT、IGNORE 或 MAP 三者之中的一个值。
  •   USING SCHEMA schema-sqlid —— 使用这个子句中指定的 XML 模式。
  •   USING SCHEMALOCATION HINTS —— 根据源 XML 文档中 XML 模式位置提示所标识的模式来验证 XML 文档。

  IMPORT FROM myfile.ixf OF IXF

  XML FROM d:\xmlpath

  XMLPARSE PRESERVE WHITESPACE

  XMLVALIDATE USING XDS

  DEFAULT S1.SCHEMA_A

  IGNORE (S1.SCHEMA_X, S1.SCHEMA_Y, S1.SCHEMA_Z)

  MAP (S1.SCHEMA_A, S1.SCHEMA_B)

  COMMITCOUNT 500 RESTARTCOUNT 30000

  MESSAGES msg.out

  INSERT INTO newtable

  前面的 IMPORT 命令将:

  •   插入 myfile.ixf 和 d:\xmlpath 下的 XML 文件中的数据。
  •   当解析 XML 文档时,保留空白。
  •   使用 XDS 的 SCH 属性标识的模式信息对每个 XML 文档进行验证。但是,如果用于任何特定行的 XDS 没有包含 SCH 属性,那么使用 S1.SCHEMA_A。
  •   如果 SCH 属性被指定为 S1.SCHEMA_X 或 S1.SCHEMA_Y 或 S1.SCHEMA_Z,那么对于导入的 XML 文档不执行验证。
  •   如果 SCH 属性被指定为 S1.SCHEMA_A,它将被映射到 S1.SCHEMA_B。注意,尽管 DEFAULT 子句指定了 S1.SCHEMA_A,但是后面的任何映射都将不会执行。
  •   每导入 500 行之后,导入实用程序将发出一次提交命令。
  •   导入操作从第 30,001 条记录开始。前 30,000 条记录被忽略。
  •   任何错误、警告和包含信息的消息都写到 msg.out 文件中。
  •   将新数据插入(或附加)到 newtable 中。

  这个例子只是让您对如何验证导入的 XML 文档有一些认识。DB2 Information Center 中还有更多的例子来演示 XMLVALIDATE 选项的威力。

(责任编辑:IT教学网)

更多

推荐Access文章