级别: 中级
【程序编程相关:实现用于 DB2 UDB 的 .NET 】roman b. melnyk 【推荐阅读:SQL Links 迁移到 dbExpr】
【扩展信息:构建分布式数据库应用程序】 db2 information development, ibm canada ltd. 2004 年 6 月 db2 数据移动实用工具 -- 导出.导入与载入 -- 支持各种各样基于用以将数据移入或移出数据库表的文件类型的选项.这些文件类型修饰符极大地扩展了数据移动实用工具的功能,并且可用于提高它们的性能.本文描述了所支持的所有修饰符,并通过工作示例展示了应如何正确使用它们.ibm ®db2 ®universal database tm(db2 udb)数据移动实用工具(导出.导入与载入)支持大量各种各样的选项,几乎支持您可能碰到的任何一种场景,因此相应 db2 udb 命令的语法相当复杂.为了最大限度地降低复杂性,但却最大化这些实用工具的通用性,这些命令的语法中包括功能强大的 modified by 子句,这是一种根据所使用的输入或输出文件类型来指定处理选项的好方式(见图 1).这些基于文件类型的处理选项被称作 文件类型修饰符.
图 1. modified by 子句包含在 db2 export.import 与 load 命令的语法中.同一命令中可以指定不止一个修饰符.
文件类型修饰符详述
目前存在近 50 个文件类型修饰符(见表 1;单击修饰符名称以跳到后面的表中查看其描述).某些修饰符是为了让实用工具运行得更快而设计的,但大多数是用于提高数据移动实用工具的通用性与灵活性.本文描述了所支持的所有文件类型修饰符,并提供了展示如何正确使用它们的工作示例.这些示例来自于命令脚本;您可以自己复制.粘贴以及运行它们.大多数示例是基于 db2 udb 中所附带的 sample 数据库的.少数示例需要 sample 数据库之外的场景,但是,您可以将到 sample 数据库的连接作为一个起始点.
表 2 - 6 中描述了这些修饰符.每张独立的表对应着特定的文件类型所支持的修饰符,包括所有文件类型都支持的修饰符.asc 或 del 都支持的修饰符.只被 asc 支持的修饰符.只被 del 支持的修饰符.只被 pc/ixf 支持的修饰符.
文件类型入门
非定界 ascii(asc)文件是一个 ascii 字符流.数据流中的行由行定界符分隔,而行中的每一列则通过起始与结束位置来定义.可以使用 import 或 load 命令中的 method l 参数来指定这些“成对位置”.每一对都表示一行里的字节位置.不支持到 asc 文件类型的数据导出.
定界 ascii(del)文件也是一个 ascii 字符流.数据流中的行由行定界符分隔,行中的列值由列定界符分隔.文件类型修饰符可用于修改这些定界符的默认值.可以使用 import 或 load 命令中的 method p 参数来指定列位置.您必须小心确保您所选择的定界符字符不包含在需要移动的数据中;否则,可能会出现意想不到的错误!还请记住,不可以将换行符.回车或空格作为定界符,也不可以将默认的小数点(句号)作为字符串定界符.哦,还有另一件事:datalink 值的字段分隔符一定不能与用作行.列或字符串定界符的字符相同.关于 db2 数据移动实用工具的定界符限制,请参阅 db2 信息中心.
pc/ixf 文件的格式是集成交换格式(integration exchange format,ixf)数据交换体系结构的改编版本,由一些列可变长度的记录构成,包括头记录.表记录.表中每列的列描述符记录以及表中每行的一条或多条数据记录.pc/ixf 文件记录由包含了字符数据的字段组成.
表 1. 版本 8.1.4 为止 db2 udb 所支持的导入.导出与载入实用工具的文件类型修饰符.
... 下一页