欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DB2数据迁移-LOAD工具

程序员文章站 2022-05-25 10:10:34
...

数据迁移是一项常见的工作, DB2提供Load实用程序来高效导入大量的数据

 

Load命令的基本格式如下

 

LOAD FROM "/home/db2inst1/pro.del" OF DEL METHOD P ( 1, 2, 4 ) INSERT INTO DB2INST1.PRODUCT ( ID, BRAND, PRODUCT )

 该命令的额功能是将 pro.del文件的第1, 2, 4列数据导入到DB2INST1 schema下的PRODUCT表中

 

 

然后在导入之后发现PRODUCT表无法访问, 对PRODUCT表进行SELECT操作的时候返回如下信息

SQL0668N  Operation not allowed for reason code "1" on table
"DB2INST1.LOC_PROD".  SQLSTATE=57016

 

Solution:

经查询SQL 668, reason code "1" 表示"该表处于“设置完整性暂挂无访问”状态。未强制表的完整性并且表的内容可能是无效的。如果从属表处于“设置完整性暂挂无访问”状态,那么对于未处于“设置完整性暂挂无访问”状态的父表或基础表执行的操作也可能会接收到此错误。"

 

按照DB2 infomation center给出的建议:对表 表名 执行带有 IMMEDIATE CHECKED 选项的 SET INTEGRITY 语句,以使表脱离“设置完整性暂挂无访问”状态。对于用户维护的具体化查询表,执行带有 IMMEDIATE UNCHECKED 选项的语句,而不是带 IMMEDIATE CHECKED 选项。

 

执行如下语句:

SET INTEGRITY FOR product IMMEDIATE CHECKED

 

之后再对PRODUCT表进行SELECT, OK了!