正在加载包含XML列的数据

您可以通过以下两种方法之一加载包含XML列的数据。

关于本任务

  • 可以从输入记录中加载XML列。 XML列值可以放在INPUT记录中,也可以不放在任何其他加载列值中。 输入记录可以是带分隔符的格式,也可以是非分隔符的格式。 对于非限定格式,XML列被视为一个可变字符,在XML值之前有2个字节的长度。 对于分隔格式,不存在长度字节。 如果输入记录是跨区记录格式,请指定“跨区格式”选项。
  • 无论XML列的长度是否小于 32K ,都可以从单独的文件中加载XML列。

过程

将数据加载到包含XML列的基表中:

  1. 创建输入数据集,确保使用正确的格式:
    • 如果您使用分隔格式,请在输入数据集中将XML数据指定为分隔字符串,以列分隔符分隔。
    • 如果您不使用分隔格式,请在数据前以2字节二进制字段指定XML输入字段的长度。
  2. 创建LOAD实用程序控制语句。
    • 要从输入记录中直接加载XML,请将XML指定为输入字段类型。 XML是唯一可接受的字段类型,不支持数据类型转换。 不要指定DEFAULTIF。
    • 要从文件加载XML,请指定CHAR或VARCHAR以及BLOBF、CLOB或DBCLOBF,以表明输入列包含一个文件名,要从该文件名加载BLOBF、CLOB或DBCLOBF到XML列。
  3. 提交效用控制语句。

结果

当您将XML文档加载到表中时,如果XML值无法转换为创建索引时指定的类型,则该值将被忽略,不会产生任何警告或错误,文档将被插入到表中。

当您将 XML 文档插入到带有 DECFLOAT 类型的 XML 索引的表格中时,插入的值可能会被四舍五入。 如果索引是唯一的,那么即使原始值不完全相同,四舍五入也可能导致重复。

更改开始在加载过程中不会压缩XML表空间。 Db2 在加载过程中不会压缩XML表空间。 如果XML表空间定义为压缩,则在REORG期间XML表空间会被压缩。更改结束