不同平台DB2数据库之间大批量的移动数据(三

来源:互联网 发布:如何开淘宝直通车 编辑:程序博客网 时间:2024/05/18 15:30
不同平台DB2数据库之间大批量的移动数据(三)
2006-11-06 14:01:17 / 个人分类:
不同平台DB2数据库之间大批量的移动数据(三)
有那么一次接了一个二手项目,前期管理十分混乱,版本控制做的一塌糊涂,手边的东西是要啥没啥……
检查下手边拥有的东西:数据库备份for aix一个;程序源码一份,看起来挺完整的但不知道是哪个版本的;可执行文件及其运行环境,这个还算厚道,是最新版本的。还好我只是需要完成数据库在Windows平台上的重建工作,要我改程序的话我真是要抓狂了,呵呵。同情那几个可怜的程序员~
嘲笑完别人,现在开始可怜下自己;数据库只有备份for aix的,没有任何创建数据库对象的脚本。“巧妇难为无米之炊”——人世间最痛苦的事莫过于。呵呵!自称为“巧妇”似乎有自夸的味道。
我当时想了下,大体的初步方案是:先把这个数据库恢复在aix平台上,在想办法移植在windows操作系统得数据库上。关于如何在aix下面用命令行恢复数据库我就不在这里多说了,有兴趣的同志们可以看我以前有关数据库备份恢复的篇目。在没有脚本的情况下,当时我能想到是只有去借助ERWin的Reverse Engineer(反向工程)功能去生成数据库的E-R图,然后根据这个E-R图生成数据库对象。生成对象后再利用导入/导出程序来转移数据,数数这个数据库中用户表大约有140个,这么看来工程蛮浩大的样子~
其实用ERWin反向工程做得很快,唯一不好的一点就是生成以后所有的tableview都聚集在工作区的最中央,密密麻麻的一坨,我要把这些tableview一个一个的分开才能看得清楚。而且数据库里面用户定义的触发器、视图等都不太容易导出,需要察看系统表中对触发器和视图的定义语句(SYSIBM.SYSVIEWS, SYSIBM.SYSTRIGGERS)。另外,在整理过程中可能也调整了一下tableview,造成了在导入/导出过程中由于字段顺序不一致的问题被reject记录现象,只能根据字段顺序在导出的时候去指定导出的select语句。这样的话,每一个表都要从数据库里面看字段顺序显得很麻烦;后来于是就做了一个专门的程序来自动读取生成表的所有字段解决了这个问题。按照这个方案我总算完成了此次任务,但我觉得这个方案我不是很满意,因为中间存在太多的人工干预,非常的麻烦。我还要找其他更好的解决方案~
实际上是有其他的方案的,这也在我找到的一本书上得到肯定的答案;有些人甚至都用过的。没错,它们就是DB2Move和 DB2look工具。还是照例来介绍下这两个工具的使用方法吧。
网络上转载
原创粉丝点击