设为首页 加入收藏

TOP

我用DB2的这几年(六)(二)
2011-04-21 17:51:52 来源: 作者: 【 】 浏览:38273次 评论:0

步骤三:使用ftp登录并下载。请确保使用二进制模式传输db2move.lst 文件和 db2look.ddl 文件。为了方便起见,下载后我把两个文件里面的DB2INST1的模式都去掉了,方便在Windows平台下进行管理。

 

步骤四:在Windows上,创建新的JWDB数据库,然后运行 db2look 工具所生成的脚本创建数据库对象,运行 db2move,将数据从 PC/IXF 文件装载到JWDB数据库中的所有用户表中。

db2 -tvf db2look.sql

db2move jwdb load
 
 

 

 

 

 

 

到此为止,迁移工作基本上算是告一段落了。基本上数据转换完毕,剩下的就是检查和收尾的工作了。

 

我于是就随便找个了表,运行下查询看看,发现查询出错。

 

SQL0668N  Operation not allowed for reason code "1" on table USERTBL.

SQLSTATE=57016

 
 
 

 

 

 

这是怎么回事呢?我接着在DB2命令中心查询。

-------------------------------------输入的命令 ------------------------------------------

? SQL0668N;

 -----------------------------------------------------------------------------

 SQL0668N当基础表(或从属表)处于检查暂挂状态时,不允许操作。

 

解释:  当表处于检查暂挂状态时,可能有一行或多行违反了对数据定义的约

束。此表不能用于操作。若从属表处于检查暂挂状态,则对不处于检查暂挂

状态的父表的操作也可能接收到此错误。

 

用户响应:  执行带有 IMMEDIATE CHECKED 选项的 SET INTEGRITY

语句,并确保数据符合对该表或从属于它的表定义的所有约束。
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

这么看来是处于检查暂挂状态了,我按照提示信息执行以后就可以访问了。

set integrity for usertbl immediate checked
 
 

 

 

这么看来,在db2move过程中会有些表因为检查约束可能会处于暂挂状态,需要执行SET INTEGRITY命令来恢复它的暂挂状态。

此次迁移任务得试验到这个时候就算是大功告成拉!~谢谢大家的欣赏。

PS:我后来查了下相关资料,可以从系统表中检索处于检查暂挂状态的表信息,命令如下:

Select tabname from syscat.tables where status=’C’

Tags:我用 DB2 责任编辑:admin
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇我用DB2的这几年(七) 下一篇我用DB2的这几年(五)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

推荐文章

相关文章