正确实现DB2数据移动的步骤有哪些? |
本文标签:DB2数据移动 以下的文章主要向大家讲述的是正确实现DB2数据移动的实际操作方法,如果你对实现DB2数据移动的实际操作方法有兴趣的话,你就可以对以下的文章点击观看了,以下就是文章的详细内容介绍,望大家借鉴 。 如果要在不同的数据库管理系统之间进行数据的转移,DB2数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移 。
DB2中所谓的数据移动,包括:
1. 数据的导入(Import) 2. 数据的导出(Export) 3. 数据的装入(Load) 导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中 导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去 数据移动的作用: 如果要在不同的数据库管理系统之间转移数据,DB2数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移 。 这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据 。 在讲解命令之前,首先介绍一下文件的格式,用于DB2数据移动的文件格式有四种: 1. ASC——非定界ASCII文件,是一个ASCII字符流 。数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义 。例如:
2. DEL——定界ASCII文件,也是一个ASCII字符流 。数据流中的行由行定界符分隔,行中的列值由列定界符分隔 。文件类型修饰符可用于修改这些定界符的默认值 。例如:
3. WSF——(work sheet format)为工作表格式,用于与Lotus系列的软件进行数据交换 。 4. PC/IXF——是集成交换格式(Integration Exchange Format,IXF)数据交换体系结构的改编版本,由一些列可变长度的记录构成,包括头记录、表记录、表中每列的列描述符记录以及表中每行的一条或多条数据记录 。PC/IXF 文件记录由包含了字符数据的字段组成 。 第一部分:数据的导出(Export) 例一:把Org表中的所有数据导出到文件C:ORG.TXT中 。
其中,of del表示导出到的文件的类型,在本例中导出到一个非定界文本文件中;后面的select * from org是一个SQL语句,该语句查询出来的结果就是要导出的数据 。
例二:改变del格式文件的格式控制符
在该例中,modified子句用于控制各种符号,coldel表示字段之间的间隔符,默认情况为逗号,现在改为$号;chardel表示字符串字段用什么符号引用,默认情况下为一对双引号括起来,现在改为用一对单引号括起来;decplusblank表示对于十进制数据类型,用空格代替最前面的加号,因为默认情况下会在十进制数据前面加上正负号的 。
例三:以ASC格式将数据导出到文件 Export命令是不支持ASC格式文件的,所以如果想导出ASC这样规整的格式,需要程序员自己进行转换操作,思路是将各种数据类型都转换成定长字符串,然后把各个要导出的字段合并成为一个字段 。 例如创建如下结构的表n:
然后插入两条数据:
要想把这两条数据以规整的格式导出到文件中,进行如下操作:
这样导出的结果与ASC格式的文件非常类似,只是每一行的前后多出了一对双引号,对此我们可以使用文本工具(如写字板、记事本等)把双引号删除掉,也可以置之不理,在以后导入的时候直接控制格式(忽略双引号)
如果要在不同的数据库管理系统之间转移数据,DB2数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移 。 在文件中的格式为:
例四:大数据的导出
该命令把emp_photo表的数据导出到d:myfile.del文件中,其结果为:
其中第三个字段是BLOB类型,在该文件中只保存了一个标志,相当于一个指针,真正的LOB数据保存在d:lob目录下的lobs.001、lobs.002、......等一系列文件中 。命令中lobs to 后面指定大对象数据保存在什么路径下(注意,该路径必须事先已经存在,否则会报错),lobfile 后面指定大对象数据保存在什么文件中,不要指定扩展名,DB2会根据数据量自动追加.001、.002等扩展名,同时不要忘记加上modified by lobsinfile子句 。
例五:把导出信息保存在消息文件中 。
这个例子把staff表中dept=20的数据导出到d:awards.ixf文件中,所有的导出信息都保存在d:msgs.txt文件中(无论是成功、警告还是失败信息),这样,管理员可以通过观察信息文件找到问题所在 。---www.bianceng.cn
例六:给导出数据列重命名 。
在默认情况下,导出的每一列数据以表中对应的字段名自动命名,我们可以通过method n子句给每一列重新命名,需要注意的是,这个子句只在ixf和wsf格式文件中有效,在文本文件中不能使用 。以上的相关内容就是对实现DB2数据移动的方法的介绍,望你能有所收获 。
|