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
分享到:
相关推荐
- **Import实用程序**:与Export相对应,用于将数据重新导入数据库,支持多种数据格式。 ### 四、高性能量卸载和新加载技术 除了上述标准工具外,IBM还提供了High Performance Unload和Load from Cursor等高级功能...
### DB2学习手册知识点概述 #### 一、DB2专有名词解释 1. **Instance(实例):** DB2中的实例是指运行DB2数据库管理系统的单一进程或一组进程。每个DB2实例都有一个唯一的名字,并且可以管理多个数据库。实例是DB2...
1. **DB2 的实用工具**:如 `db2import` 和 `db2export`。 2. **SQL 命令**:如 `INSERT`, `SELECT INTO`, `CREATE TABLE AS SELECT` 等。 3. **图形化工具**:如 IBM Data Studio。 #### 三、DB2 数据导入导出命令...
**2.8 db2look**:这是一个实用工具,用于查看和导出数据库模式。 **2.9 Commonprocess**:这部分内容未给出详细解释,可能是指通用处理流程或通用功能。 #### 三、SQL介绍 **3.1 DB2数据类型**:DB2支持多种数据...
import 实用程序实际上是 SQL INSERT 的一个前端,但它的某些功能对于您来说也是有用的。 INSERT 优化技巧 在讨论 INSERT 优化之前,让我们看看插入处理的一些必要步骤,以及我们可以用来优化这些步骤的技巧。 1....
### 数据库导入到Excel知识点详解 #### 一、概述 在日常工作中,我们常常需要将数据库中的数据导出为Excel格式以...此外,本文还提供了一些实用的异常处理技巧,以确保程序的稳定性和可靠性。希望本文对您有所帮助!
- **数据源兼容性**:支持多种数据源的直接连接,如文本文件、XML文件、企业级应用(如SAP、Siebel、Oracle等)、几乎所有主流数据库系统(如DB2、Oracle、SQL Server等)以及Web服务和WebSphere MQ等。 - **架构**...