当前位置: 代码迷 >> DB2 >> DPF DB2进行export能导出IXF格式的文件吗?解决思路
  详细解决方案

DPF DB2进行export能导出IXF格式的文件吗?解决思路

热度:3077   发布时间:2013-02-26 00:00:00.0
DPF DB2进行export能导出IXF格式的文件吗?
现有一个DPF DB2,我想从中导出一个表的数据,并且文件格式为IXF,以下是用的命令,
db2 "export to sample15.ixf of ixf messages msg.out select * from staff"
但机器好像是死机似的,很长时间没有反应,所以我想问一下,DPF DB2用export时能导出IXF格式的文件吗?若能的话,这个IXF格式的文件内容能再RELOAD进去吗?

------解决方案--------------------------------------------------------
可以导出也可以导入
------解决方案--------------------------------------------------------
可以,你用客户端工具或者自带的控制中心导出数据,会一步步提示你,不用自己写SQL.
------解决方案--------------------------------------------------------
我也在研究export与import问题.
C/C++ code
WSF:工作表方式导入导出,这种格式的文件类型用的比较少。DB2中对不同的数据导入导出方式,支持不同的文件类型,这里个人觉得很有必要注意下的。COMMITCOUNT,保证insert的数据在COMMITCOUNT以后进行一次commit,这对于大数据量的导入文件来说是一个不错的方法,  例:Import from filename of del COMMITCOUNT 50000 insert into tabname;   DB2的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单,实则内含玄机,千变万化,稍不留神,则错误百出,这儿就工作中常用到的命令,总结了一下,分享给大家!欢迎大家踊跃拍砖!?  当然在这以前,我觉得有必要提及一点关于导入导出基础的知识!  DEL:界定的ASCII文件,行分隔符和列分隔符将数据分开。  ASC:定长的ASCII文件,行按照行分割符分开,列定长。  PC/IXF:只能用来在DB2之间导数据,根据类型数字值被打包成十进制或者二进制,字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括表的定义和表的数据。  WSF:工作表方式导入导出,这种格式的文件类型用的比较少。  DB2中对不同的数据导入导出方式,支持不同的文件类型,这里个人觉得很有必要注意下的。  文件类型 Import export load  -------------------------------------------------------  定界 支持 支持 支持  非定界 支持 不支持 支持  Ixf 支持 支持 支持  Wsf工作表 支持 支持 不支持  关于3种导入导出操作进行简单的介绍:  export:导出数据,支持IXF,DEL或WSF  import:导入数据,可以向表中导入数据,支持上面提到的4种文件类型。  load:导入数据,功能和import基本相同。支持以上说的几种文件类型。  关于Export  这个其实比较简单,没啥好说的,一般命令:export to filename of filetype select x from xx where ;就ok了,这里需要注意的是:   1.关于不同字符集的导出  MODIFIED BY CODEPAGE= Exprot to filename.del for del MODIFIED BY CODEPAGE=1386 select …from …where …;  这里,在数据从数据库倒出来的时候就会做一个数据库代码页的转换  2.时间字段格式化的  MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt"  例:Exprot to filename.del for del MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select …from …where …;  关于Import  1.Import模式的介绍  CREATE/INSERT/INSERT_UPDATE/REPLACE/REPLACE_CREATE  CREATE :首先创建目标表和它的索引,然后将数据导入到新表中。该选项惟一支持的文件格式是 PC/IXF。还可以指定新表所在表空间的名称  INSERT :将导入的数据插入表中。目标表必须已经存在。  INSERT_UPDATE :将数据插入表中,或者更新表中具有匹配主键的行。目标表必须已经存在,并且定义了一个主键。  REPLACE :删除所有已有的数据,并将导入的数据插入到一个已有的目标表中。  REPLACE_CREATE :如果目标表已经存在,则导入实用程序删除已有的数据,并插入新的数据,就像 REPLACE 选项那样。如果目标表还没有定义,那么首先创建这个表以及它的相关索引,然后再导入数据。正如您可能想像的那样,输入文件必须是 PC/IXF 格式的文件,因为那种格式包含对导出表的结构化描述。如果目标表是被一个外键引用的一个父表,那么就不能使用 REPLACE_CREATE。  2.批量提交  COMMITCOUNT,保证insert的数据在COMMITCOUNT以后进行一次commit,这对于大数据量的导入文件来说是一个不错的方法,  例:Import from filename of del COMMITCOUNT 50000 insert into tabname;  3.批量插入  MODIFIED BY COMPOUND把文件中的 COMPOUND 行记录作为一组一起导入,这个操作可以和上边的批量提交一起使用,比较理想。  例:Import from filename of del MODIFIED BY COMPOUND =50 insert into tabname;  4.导入记录限制  ROWCOUNT:只导入rowcount 条数据,有时候,业务逻辑需要只导入部分数据,那么ROWCOUNT是一个不错的选择,只是在我的测试中ROWCOUNT一直没有起过作用,呵呵,谁熟悉这里,帮我完善下。  例:Import from filename of del ROWCOUNT 10000 insert into tabname;  5.导入起点  RESTARTCOUNT:从导入文件的第RESTARTCOUNT条记录开始导入  例:Import from filename of del RESTARTCOUNT 55 ROWCOUNT 10000 insert into tabname;--从55条开始,导入10000条数据  6.有警告数据的条数限制  WARNINGCOUNT:当导入的数据中,有警告或错误(例如类型不匹配,列不对应等造成的)并且条数超过WARNINGCOUNT是就会停止import。  例:Import from filename of del WARNINGCOUNT 10 insert into tabname;  7.禁止发出行警告  MODIFIED BY NOROWWARNINGS  例:Import from filename of del MODIFIED BY NOROWWARNINGS WARNINGCOUNT 10 insert into tabname;  8.LOB 文件  LOBS FROM :指出LOB的路径  例:Import from filename of del LOBS FROM ‘/home’ MODIFIED BY NOROWWARNINGS WARNINGCOUNT 10 insert into tabname;  9.对于自增序列(GENERATED ALWAYS)  建议不要对自增序列的表进行import操作,因为import对于自增序列,只有MODIFIED BY IDENTITYIGNORE和MODIFIED BY IDENTITYMISSING的2中操作,这2中操作都会改变自增序列的原值,这样如果导出表和表之间有基于自增序列的关联关系的话,就失去了数据本身的意义,所以建议尽量少用基于import的自增表的操作,那该怎么做?可以用load老代替import,我们下来在load的操作中会讲到
  相关解决方案