设为首页 收藏本站
查看: 790|回复: 0

[经验分享] DB2 IMPORT 实用程序概述术

[复制链接]

尚未签到

发表于 2016-11-16 03:30:15 | 显示全部楼层 |阅读模式
DB2  IMPORT 实用程序概述术  

IMPORT 实用程序概述  

IMPORT 实用程序使用文件类型为 ASC、DEL、IXF 或 WSF 的输入文件向表中填充数据。导入目标可以是表、类型表或视图。但是,不允许向系统表、临时表和具体化查询表导入数据。同样建议您使用 MESSAGES 子句,以便记录下错误、警告和信息性消息。要成功地导入数据,必须具有 SYSADM 或 DBADM 权限,或对目标表或数据库具有底层特权(SELECT、INSERT、CONTROL 或 CREATETAB),这取决于您所使用的选项。下面显示了带有五个不同选项的 IMPORT 命令:

IMPORT FROM file_name OF file_type MESSAGES message_file [ INSERT | INSERT_UPDATE | REPLACE | REPLACE_CREATE | CREATE ] INTO target_table_name  
INSERT 选项将导入的数据插入表中。目标表必须已经存在。
INSERT_UPDATE 向表中插入数据,或者用匹配的主键更新表中现有的行。目标表必须存在,且定义了主键。
REPLACE 选项删除现有的全部数据,然后将导入的数据插入现有的目标表中。
有了 REPLACE_CREATE 选项,如果目标表存在,那么实用程序删除现有的数据,然后插入新数据,就好像指定了 REPLACE 选项一样。如果没有定义目标表,那么在导入数据之前将先创建该表及其相关索引。正如您可以想到的那样,输入文件必须是 PC/IXF 格式的,因为这种格式含有导出表的结构化描述。如果目标表是由外键引用的父表,就不能使用 REPLACE_CREATE。
CREATE 选项创建目标表及其索引,然后将数据导入到新表中。它唯一支持的文件格式是 PC/IXF。您也可以指定表空间的名称,新表将创建于其中。
示例:

IMPORT FROM emp.ixf OF IXF MESSAGES msg.out CREATE INTO employee IN datatbsp INDEX IN indtbsp
  
IMPORT 选项  

  
IMPORT 基本上是一个向表中批量插入数据的实用程序。这种批量插入操作就象正常的插入语句,因为它对活动记录日志,对索引进行更新,对引用完整性进行检查,还对表约束进行检查。缺省情况下,IMPORT 只在操作结束时提交一次。如果向表中导入或插入了大量的行,那么就需要足够的事务日志以备回滚和恢复。您可以请求进行定期提交,以防止日志变满。如果在导入操作期间发生故障,那么定期提交插入操作还能使您减少丢失的行的数目。COMMITCOUNT 选项强制在导入一定数量的记录之后进行 COMMIT。这里有一个演示 COMMITCOUNT 选项使用方式的示例:
IMPORT FROM myfile.ixf OF IXF COMMITCOUNT 500 MESSAGES msg.out INSERT INTO newtable  
如果上面的命令因为某些原因而执行失败,那么您可以使用消息文件确定被成功导入并提交的最后一行。然后,您可以使用 RESTARTCOUNT 选项重新启动导入。在下面的命令中,实用程序将跳过前面的 30000 条记录才开始 IMPORT 操作。
IMPORT FROM myfile.ixf OF IXF COMMITCOUNT 500 RESTARTCOUNT 30000 MESSAGES msg.out INSERT INTO newtable

文件类型修饰符  


IMPORT 实用程序也支持文件类型修饰符来定制导入操作。DB2 Command Reference 中的在 IMPORT 下可以找到修饰符的完整列表。这里概述其中一些修饰符:

compound=x
使用非原子的复合 SQL 来插入数据。每次会尝试 x 条语句。
indexschema=schema
在创建索引期间对索引使用指定的模式。
striptblanks
在向变长字段装入数据时,截断任何尾部空格。
lobsinfile
指出要导入 LOB 数据。实用程序将检查 LOBS FROM 子句,以获取输入 LOB 文件的路径。
这里有一个实际使用这些文件类型修饰符的示例:

IMPORT FOR inputfile.asc OF ASC LOBS FROM /u/db2load/lob1, /u/db2load/lob2 MODIFIED BY compount=5 lobinsfile INSERT INTO newtable

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300776-1-1.html 上篇帖子: DB2存储过程-基础详解(转) 下篇帖子: SSH+DB2搭建开发环境(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表