`
卒子99
  • 浏览: 75254 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]DB2中的数据移动

    博客分类:
  • DB
阅读更多

DB2中所谓的数据移动,包括: 

1. 数据的导入(Import) 

2. 数据的导出(Export) 

3. 数据的装入(Load) 



导入和装入都是利用DB2的相关命令把某种格式的文件中的数据保存到数据库中的表中 

导出是指把DB2数据库的表中的数据保存到某种格式的文件当中去 



数据移动的作用: 



如果要在不同的数据库管理系统之间转移数据,数据移动通常是最实用的一种方法,因为任何一种数据库管理系统都支持常用的几种文件格式,通过这个通用的接口,就很容易实现不同系统间数据的转移。 



这三个命令中,Export最简单,因为从表中向文件转移数据,通常不会出现错误,也不会有非法的数据。 



在讲解命令之前,首先介绍一下文件的格式,用于DB2数据移动的文件格式有四种: 

1. ASC——非定界ASCII文件,是一个ASCII字符流。数据流中的行由行定界符分隔,而行中的每一列则通过起始和结束位置来定义。例如: 



10   Head Office     160   Corporate   New York 

15   New England  50     Eastern       Boston 

20   Mid Atlantic     10     Eastern       Washington 

38   South Atlantic 30     Eastern       Atlanta 

42   Great Lakes    100   Midwest      Chicago 

51   Plains              140   Midwest      Dallas 

66   Pacific              270   Western     San Francisco 

84   Mountain         290   Western     Denver 



2. DEL——定界ASCII文件,也是一个ASCII字符流。数据流中的行由行定界符分隔,行中的列值由列定界符分隔。文件类型修饰符可用于修改这些定界符的默认值。例如: 



10,"Head Office",160,"Corporate","New York" 

15,"New England",50,"Eastern","Boston" 

20,"Mid Atlantic",10,"Eastern","Washington" 

38,"South Atlantic",30,"Eastern","Atlanta" 

42,"Great Lakes",100,"Midwest","Chicago" 

51,"Plains",140,"Midwest","Dallas" 

66,"Pacific",270,"Western","San Francisco" 

84,"Mountain",290,"Western","Denver" 



3. WSF——(work sheet format)为工作表格式,用于与Lotus系列的软件进行数据交换。 



4. PC/IXF——是集成交换格式(Integration Exchange Format,IXF)数据交换体系结构的改编版本,由一些列可变长度的记录构成,包括头记录、表记录、表中每列的列描述符记录以及表中每行的一条或多条数据记录。PC/IXF 文件记录由包含了字符数据的字段组成。 



第一部分:数据的导出(Export) 

例一:把Org表中的所有数据导出到文件C:\ORG.TXT中。 

Export to c:\org.txt of del select * from org 



其中,of del表示导出到的文件的类型,在本例中导出到一个非定界文本文件中;后面的select * from org是一个SQL语句,该语句查询出来的结果就是要导出的数据。 



例二:改变del格式文件的格式控制符 

export to c:\staff.txt of del modified by coldel$ chardel'' decplusblank select * from staff 

在该例中,modified子句用于控制各种符号,coldel表示字段之间的间隔符,默认情况为逗号,现在改为$号;chardel表示字符串字段用什么符号引用,默认情况下为一对双引号括起来,现在改为用一对单引号括起来;decplusblank表示对于十进制数据类型,用空格代替最前面的加号,因为默认情况下会在十进制数据前面加上正负号的。 



例三:以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:\test.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格式文件中有效,在文本文件中不能使用。
分享到:
评论

相关推荐

    db2 v9.5数据库数据移动指南和参考

    《DB2 V9.5 数据库数据移动指南与参考》是一本专为IBM最新的DB2 V9.5版本编写的书籍,主要介绍了如何在该版本中进行数据移动操作。本书不仅适合已经熟悉DB2数据库的技术人员阅读,也适合希望深入了解DB2 V9.5新特性...

    DB2数据迁移工具

    DB2数据迁移工具是一款强大的数据库迁移解决方案,专为在不同...通过以上分析,我们可以看出DB2数据迁移工具是一个全面的解决方案,旨在简化数据库迁移过程,减少手动操作,并确保在迁移过程中数据的安全性和完整性。

    DB2导出数据操作指南_图解

    将所有待导出的表从“可用表”列表移动到“选择表”列表中。 **2.5 导出文件保存** 生成的DDL脚本将被保存为一个SQL文件,用户需指定保存路径和文件名。 **2.6 SQL文件的后处理** 保存的SQL文件可能包含注释和...

    DB2-数据迁移.ppt

    数据移动格式是这个过程中不可或缺的部分,有三种主要格式:ASC/DEL文本文件、WSF工作表格式(主要用于Lotus软件)以及IXF(集成交换格式)。其中,IXF格式推荐用于跨平台的数据迁移,因为它能确保数据完整性,而ASC...

    DB2_v105 官方中文参考手册(1)

    1. **DB2DataMovement-db2dmc1050.pdf**:这份文档主要关注数据迁移和复制,涵盖了DB2的数据移动技术,如SQL Replication、Parallel Data Pump、和HADR(高可用性灾难恢复)等。它提供了关于如何在不同的数据库实例...

    DB2中的数据移动(一)

    ### DB2中的数据移动概述 本文旨在深入探讨IBM DB2环境下数据移动的三大核心操作:数据导入(Import)、数据导出(Export)以及数据装入(Load)。这三种操作不仅对于DB2数据库管理员至关重要,同时也是数据迁移、...

    db2 export和inport命令相关

    在本文中,我们将详细介绍 DB2 中的数据移动命令,包括 Export 和 Import 命令的使用、文件格式的介绍以及数据移动的作用。 数据移动的作用 数据移动是指把数据从一个数据库管理系统迁移到另一个数据库管理系统中...

    vsam db2

    - 数据组织涉及存储介质的选择、记录在文件中的顺序、记录长度等因素。 - 存取方法是一组程序,帮助程序员根据特定的数据组织方式,在主存储器与辅助存储设备之间传输数据。 4. **VSAM文件组织**: - KSDS (Key-...

    DB2培训资料——详细、中文

    3. **Java Common Client (JCC)**:轻量级Java客户端,提供对DB2数据服务器的JDBC和SQLJ应用程序访问。 4. **DB2 9 Client Lite**:针对CLI/ODBC应用程序设计的轻量级客户端。 #### 四、DB2扩展器功能介绍 - **XML ...

    DB2 用户手册 官方 2

    db2dmc90_数据移动使用程序指南和参考.pdf db2f0c90_系统监视器指南和参考.pdf db2hac90_数据恢复和高可用行指南与参考.pdf db2irc90_发行说明.pdf db2irc91_修订包1的发行说明.pdf db2isc90_服务器快速入门.pdf db2...

    db2数据导入导出,可选择要导的数据

    `db2move` 命令可以用于移动数据或模式。例如,将 `weisheng` 数据库的数据导出: ```sql db2move weisheng export ``` 如果只想导出特定的表,可以使用以下命令: ```sql db2move weisheng export -t n ...

    DB2 V9中文手册(1)

    db2dmc90_数据移动使用程序指南和参考.pdf db2f0c90_系统监视器指南和参考.pdf db2hac90_数据恢复和高可用行指南与参考.pdf db2irc90_发行说明.pdf db2irc91_修订包1的发行说明.pdf db2isc90_服务器快速入门.pdf db2...

    DB2自动备份数据库(DB2 MOVE)

    1. 设置脚本中需要修改的部分,比如DB2数据所在路径(DB_DIR)、备份数据库名称(DBNAME)、数据库SCHEMA(SCHEMA)、数据库用户名(USR)、数据库密码(PASSWD)以及备份数据存放根目录(BAK_DIR)。 2. 定义日志...

    DB2 V9 课程.rar

    8. **数据移动与实用工具** (EW15_DB2v9_Data_Movement_and_Utilitities.ppt) - 数据移动涉及到数据导入导出、数据库复制等,常用于数据迁移、备份和恢复。 - DB2提供了如db2move、db2look等实用工具,简化了这些...

    db2v10.5百度盘链接.zip

    5. **内存优化**:DB2 v10.5引入了纯内存数据库特性,称为BLU Acceleration,通过在内存中存储数据,极大地提升了数据读取速度。 6. **云集成**:支持云部署,可以运行在IBM SmartCloud上,提供灵活的扩展性和资源...

    DB2_SQL课件

    6. DB2数据移动:DB2提供了数据移动工具,如export/import、load和db2move,这些工具用于高效地在数据库系统之间移动数据。其中,export/import工具用于在不同数据库间移动数据,load工具则用于将数据高速导入数据库...

    DB2 Connect用户指南

    DB2 Connect为开发者提供了丰富的接口,如JDBC、OLE DB、ODBC等,使应用程序能够跨平台地访问DB2数据。 ### 使用指南 #### 1. DB2 Connect的安装与配置 - **安装**:DB2 Connect的安装过程依赖于目标操作系统。...

    DB2常用命令-备份数据库-数据导入导出

    2. **移动数据库**:`db2movedb_nameexport`与`db2movedb_name-tntable_name2,table_name1`命令用于在数据库间移动数据或表,前者支持数据的完全导出,后者可选择性移动特定表。 ### 七、FTP操作与文件管理 1. **...

    DB2v8_Family

    DB2 Version 8作为DB2家族中的一个重要版本,引入了许多创新技术和功能,旨在提高数据处理性能、简化管理并增强数据安全性。 ### 全面利用所有资源 主题:全面利用所有可用资源。DB2 v8设计的核心理念之一是能够...

Global site tag (gtag.js) - Google Analytics