




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DB2 Load数据装入1. 引言这段时间一直在忙一个基于DB2的项目,其中一部分工作涉及到DB2数据的导入。我们知道oracle提供了sqlloader程序完成大数据量的快速导入,DB2是和oracle最相似的数据库,所以DB2也提供了数据导入的实用程序,而且还是两个,分别是import和load,因为import的实质还是要执行sql语句完成数据的导入,所以速度相对较慢。Load是直接将格式化的页写入数据库,对于大数据量的导入,load程序更快。但是load实用程序不会触发触发器。并且load时除了验证索引唯一性约束之外,不执行其他的约束检查,这样会对数据库的数据完整性造成一些影响。如果能保证数据来源可靠的话,load是个不错的选择。接下来就简单说一下load实用程序的使用。2. 概述Load 的过程分为四个阶段:装入,构建,删除,索引复制。如下图:Load有四种装入方式,分别是:REPLACE:这种方式下会删除目标表数据,用并用输入数据填充该表。INSERT:目标表原有数据不做修改,将输入数据追加到目标表之后。TERMINATE:装载失败后,可以通过该方式回滚失败的装入操作。RESTART:已终端的装入操作将继续(我没有试过这种方式)。Load可以装入的数据格式包括IXF也就是DB2 export程序推荐的那种数据格式,是二进制的。这种数据导入也最方便;DEL就是分界符的ASCILL文件,DB2默认的是用逗号(,)作为字段列的分隔符,用双引号(“)作为记录行的分隔符;ASC非定界符的ASCII文件,load时需要指定列的起止位置;CURSOR游标,我没用过。3. 语法及参数介绍Load程序的语法参数还是相当复杂的,现在虽然在用这个程序了,但是有些参数还是没搞明白。在这里我拣着主要的&我明白的参数介绍一下。基本上能够满足一般的装入操作要求。因为语法实在是很繁琐,我不得不贴一张官方的大图出来了。部分参数介绍:FROM设定装入数据的来源,如果是数据源来自于多个文件,则文件之间可以用逗号分开。如:Db2 Load from “E:tmptest_file_001.dat”,”E:tmptest_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将数据装入到一个变长列时,会截断尾部空格,若未指定则将保留空格。ASCChardelx设定记录行分隔符,例如chardel; 表示以分号作为换行标识.另外一些无法输入的字符可以通过十六进制码来表示,如chardel0x0D0A表示以回车换行作为行分隔符.DELcoldelx设定数据文件中的列分隔符,可以直接输入分隔符,也可以用十六进制表示。如coldel, coldel0x09DELKeepblanks保留char,varchar,long varchar,clob类型的每个字段的首尾空格。如不设置,则会出去定界符之间的首尾空格,如果为空白,则会在对应列中插入NULLDELMETHOD L 指定要装入文件的列的起止位置,用于非定界的ASC文件。从1开始计数,起止位置的数字间通过空格分隔,字段间通过逗号分隔。例如METHOD L (1 3,4 9,10 15)N 这个参数好像是只应用于IXF或者CURSOR类型的数据文件,我没有试过。P指定装入文件的列的编号,可以通过这个调整转入数据文件的对应关系。例如METHOD P (1,3,4,2)ROWCOUNT n指定要装入的数据文件的物理记录行数。允许用户只装入前面n行。WARNINGCOUNT n指定装入操作过程中允许的警告次数,超过该次数后装入操作失败。如果不设置或者设置为0那么无论有多少条记录告警,装入操作都将继续。TEMPFILES PATH temp-filespath指定装入过程中用到的临时路径,指的是服务器端的路径。装入方式INSERTREPLACETERMINATERESTARTINTO tabname指定要装入到的数据库表。Insert_column指定数据要插入到的列名,列名之间用逗号分隔。FOR EXCEPTION table-name指定要讲加载错误行复制到异常表名,该异常表是指加载目标数据库中的表。ALLOW NO ACCESSLoad程序在装载过程中锁定目标表,是目标表处于“正在装载”状态,ALLOW NO ACCESS 是默认行为,对于REPLACE加载的load命令,allow no access是唯一有效的选项。ALLOW READ ACCESS目标表在装载过程中仍然被置为“正在装载”状态,不过装载之前的数据仍然可以访问,进行read操作。4. 命令举例接下来就列举几个例子。4.1 加载定界的ascill文件,也就是分隔符的数据文件db2 LOAD FROM E: datasrc_001.dat,E:datasrc_002.dat OF DEL MODIFIED BY dateformat=YYYY-MM-DD timestampformat=YYYYMMDDHHMMSS CHARDEL0x0D0A coldel# dumpfile=E:errordata.bad METHOD P (1, 2, 3,4,5) ROWCOUNT 400 MESSAGES E:messagemessage.log TEMPFILES PATH E:tmp REPLACE INTO TEST_TAB (ID, NAME, ADDRESS,BIRTHDAY,createtime) NONRECOVERABLE INDEXING MODE AUTOSELECT SET INTEGRITY PENDING CASCADE IMMEDIATE涉及到的具体参数 可以参考文档中的说明。4.2 加载非定界的ascill文件db2 LOAD FROM E:datasrc_001.dat OF ASC MODIFIED BY dateformat=YYYY-MM-DD timestampformat=YYYYMMDDHHMMSS striptblanks dumpfile=E:datadata.bad METHOD L (1 5,6 10,11 20,21 35,36 50) ROWCOUNT 400 MESSAGES E:messagemessage.log TEMPFILES PATH E:tmp REPLACE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024自考专业(计算机应用)常考点试卷含答案详解(培优A卷)
- 2025医师定期考核题库试题附答案详解【突破训练】
- 2024-2025学年施工员题库试题带答案详解(夺分金卷)
- 2024年云南水利水电职业学院单招《物理》通关题库(培优A卷)附答案详解
- 打造低空示范交通航线的策略及实施路径
- 咨询工程师高分题库(历年真题)附答案详解
- 2024安全员考试考前冲刺试卷(能力提升)附答案详解
- 2025年电梯考试试题预测试卷及答案详解【典优】
- 高层停薪留职合同范本与高层管理人员奖励合同2篇
- 2025年高考考试综合练习及答案详解(必刷)
- 公司网络安全培训课件
- (115)-第一章毛泽东思想及其历史地位
- 病原微生物实验室生物安全管理体系的建立与运行
- 小学数学教学设计的理论与案例分析
- 建筑给排水-外文文献翻译
- FREE高考英语核心词汇1783
- 高中物理答题卡模板
- 变电站值班员职业技能鉴定试题库(第二版)
- 山东省病历书写基本规范讲解
- 大型仓储物品库和高架立体仓库消防设计
- 2023电大专科行政管理专业毕业论文
评论
0/150
提交评论