- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DB2 Load数据装入
DB2 Load数据装入
引言
这段时间一直在忙一个基于DB2的项目,其中一部分工作涉及到DB2数据的导入。我们知道oracle提供了sqlloader程序完成大数据量的快速导入,DB2是和oracle最相似的数据库,所以DB2也提供了数据导入的实用程序,而且还是两个,分别是import和load,因为import的实质还是要执行sql语句完成数据的导入,所以速度相对较慢。Load是直接将格式化的页写入数据库,对于大数据量的导入,load程序更快。但是load实用程序不会触发触发器。并且load时除了验证索引唯一性约束之外,不执行其他的约束检查,这样会对数据库的数据完整性造成一些影响。如果能保证数据来源可靠的话,load是个不错的选择。接下来就简单说一下load实用程序的使用。
概述
Load 的过程分为四个阶段:装入,构建,删除,索引复制。如下图:
Load有四种装入方式,分别是:
REPLACE:这种方式下会删除目标表数据,用并用输入数据填充该表。
INSERT:目标表原有数据不做修改,将输入数据追加到目标表之后。
TERMINATE:装载失败后,可以通过该方式回滚失败的装入操作。
RESTART:已终端的装入操作将继续(我没有试过这种方式)。
Load可以装入的数据格式包括IXF——也就是DB2 export程序推荐的那种数据格式,是二进制的。这种数据导入也最方便;DEL——就是分界符的ASCILL文件,DB2默认的是用逗号(,)作为字段列的分隔符,用双引号(“)作为记录行的分隔符;ASC——非定界符的ASCII文件,load时需要指定列的起止位置;CURSOR——游标,我没用过。
语法及参数介绍
Load程序的语法参数还是相当复杂的,现在虽然在用这个程序了,但是有些参数还是没搞明白。在这里我拣着主要的我明白的参数介绍一下。基本上能够满足一般的装入操作要求。
因为语法实在是很繁琐,我不得不贴一张官方的大图出来了。
部分参数介绍:
FROM
设定装入数据的来源,如果是数据源来自于多个文件,则文件之间可以用逗号分开。如:
Db2 Load from “E:\tmp\test_file_001.dat”,”E:\tmp\test_file_002.dat” ……
OF filetype
指定数据文件的类型,也就是前面提到过的四种类型,IXF,DEL,ASC,CURSOR.
Modify by file-type-mode
指定文件类型修饰符。支持的文件类型修饰符相当多,这里只列举一部分我测试过的。
修饰符
说明
适用的文件类型
Codepage=x
指定装入数据文件的codepage(码页),load程序会将数据文件从指定的codepage转换到数据库的codepage,例如codepage=1252,这个1252是US的codepage,1386是简体中文GBK的codepage.
所有
Dateformat=”x”
这个参数对于ASC和DEL文件相当有用,因为这两种文件存储的都是ascill文件,没有数据结构信息,如果对应目标表中的列是date类型时,就需要指定数据文件中的日期的格式了。常用的有dateformat=”YYYYMMDD”或者dateformat=”YYYY-MM-DD”等.此处注意一点:在命令行中执行时需要对双引号进行转义,否则会提示指定的dateformat无效.
所有
Dumpfile=”x”
在装入数据库过程中,如果装入失败的记录,例如记录字段长度超长,这时会将这条失败记录写到dumpfile指定的文件中,文件是追加式的。本人在适用时发现这个指定的文件指的是服务器的路径,也就是说当我们从客户端A执行load命令装入数据到服务器B时,指定的dumpfile其实是B主机上的路径。
所有
Timestampformat=”x”
这个也很实用,是用来指定时间戳类型的数据列的格式,例如timestampformat=”YYYYMMDDHHMMSS”,看着很奇怪,因为月份MM和分钟的MM是一样的,分钟并不是像oracle中的MI。我理解不了DB2为啥弄成这样,不过事实证明像我那样设置是没有问题的。
所有
Striptblanks
将数据装入到一个变长列时,会截断尾部空格,若未指定则将保留空格。
ASC
Chardelx
设定记录行分隔符,例如chardel; 表示以分号作为换行标识.另外一些无法输入的字符可以通过十六进制码来表示,如chardel0x0D0A表示以回车换行作为行分隔符.
DEL
coldelx
设定数据文件中的列分隔符,可以直接输入分隔符,也可以用十六进制表示。如coldel, coldel0x09
DEL
Keepblanks
保留char,varchar,long varchar,clo
您可能关注的文档
- Adversarial Search.ppt
- A Brief Introduction of Suzhou Pingjiang Road.ppt
- Android ArrayAdapter spinner详解.docx
- Android TableLayout的使用说明.doc
- Android 字体设置.doc
- An Introduction to IBM Tivoli Provisioning Manager Express Software Distribution Overview.ppt
- android 笔试题.docx
- 99级七年制英文.doc
- AEAS核心高频词汇.doc
- android中利用Canvas绘制折线图.doc
文档评论(0)