WEB开发网
开发学院数据库DB2 DB2中如何进行数据移动 阅读

DB2中如何进行数据移动

 2007-05-20 16:19:28 来源:WEB开发网   
核心提示: 例三:以ASC格式将数据导出到文件Export命令是不支持ASC格式文件的,所以如果想导出ASC这样规整的格式,DB2中如何进行数据移动(3),需要程序员自己进行转换操作,思路是将各种数据类型都转换成定长字符串,需要注意的是,这个子句只在ixf和wsf格式文件中有效,然后把各个要导出的字段

例三:以ASC格式将数据导出到文件

Export命令是不支持ASC格式文件的,所以如果想导出ASC这样规整的格式,需要程序员自己进行转换操作,思路是将各种数据类型都转换成定长字符串,然后把各个要导出的字段合并成为一个字段。

例如创建如下结构的表n:

create table n(a int,b date,c time,d varchar(5),e char(4),f double)

然后插入两条数据:

insert into n values(15,'2004-10-21','23:12:23','abc','hh',35.2)

insert into n values(5,'2004-1-21','3:12:23','bc','hhh',35.672)

要想把这两条数据以规整的格式导出到文件中,进行如下操作:

export to c:  est.txt of del select char(a) || char(b) || char(c) || char(d,5) || e || char(f) as tmp from n

这样导出的结果与ASC格式的文件非常类似,只是每一行的前后多出了一对双引号,对此我们可以使用文本工具(如写字板、记事本等)把双引号删除掉,也可以置之不理,在以后导入的时候直接控制格式(忽略双引号)

在文件中的格式为:

"15 2004-10-2123.12.23abc hh 3.52E1 "

"5 2004-01-2103.12.23bc hhh 3.5672E1 "

例四:大数据的导出

export to d:myfile.del of del lobs to d:lob lobfile lobs modified by lobsinfile select * from emp_photo

该命令把emp_photo表的数据导出到d:myfile.del文件中,其结果为:

  "000130","bitmap","lobs.001.0.43690/"
  "000130","gif","lobs.001.43690.29540/"
  "000130","xwd","lobs.001.73230.45800/"
  "000140","bitmap","lobs.001.119030.71798/"
  "000140","gif","lobs.001.190828.29143/"
  "000140","xwd","lobs.001.219971.73908/"
  "000150","bitmap","lobs.001.293879.73438/"
  "000150","gif","lobs.001.367317.39795/"
  "000150","xwd","lobs.001.407112.75547/"
  "000190","bitmap","lobs.001.482659.63542/"
  "000190","gif","lobs.001.546201.36088/"
  "000190","xwd","lobs.001.582289.65650/"

其中第三个字段是BLOB类型,在该文件中只保存了一个标志,相当于一个指针,真正的LOB数据保存在d:lob目录下的lobs.001、lobs.002、......等一系列文件中。命令中lobs to 后面指定大对象数据保存在什么路径下(注意,该路径必须事先已经存在,否则会报错),lobfile 后面指定大对象数据保存在什么文件中,不要指定扩展名,DB2会根据数据量自动追加.001、.002等扩展名,同时不要忘记加上modified by lobsinfile子句。

例五:把导出信息保存在消息文件中。

export to d:awards.ixf of ixf messages d:msgs.txt select * from staff where dept = 20

这个例子把staff表中dept=20的数据导出到d:awards.ixf文件中,所有的导出信息都保存在d:msgs.txt文件中(无论是成功、警告还是失败信息),这样,管理员可以通过观察信息文件找到问题所在。

例六:给导出数据列重命名。

export to d:awards.ixf of ixf method n(c1,c2,c3,c4,c5,c6,c7) messages d:msgs.txt select * from staff where dept=20

在默认情况下,导出的每一列数据以表中对应的字段名自动命名,我们可以通过method n子句给每一列重新命名,需要注意的是,这个子句只在ixf和wsf格式文件中有效,在文本文件中不能使用。

上一页  1 2 3 

Tags:DB 如何 进行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接