源机器A:TD8.0+SQLServer2000
目标机器B:QC9.2+SQLServer2000
一:自动迁移,
1、在A在A上安装QC迁移工具,然后在B中点击TOOLS>>Migration Tool,打算迁移,报错如下:
解决办法:查找TDProjectMigrationProj.xco,一般在\program files\Mercury\Quality Center\application\20qcbin.war\Install下
然后开始>>运行,执行 regsvr32 "路径\TDProjectMigrationProj.xco"
2、继续在B中执行TOOLS>>Migration Tool,打开迁移页面,输入相关信息,这里也报错,类似下图;
解决办法:这是因为A中的DB Servers中,之前有用CHENHY和ZLGLB这样的名称作为连接字符串的名称,所以需要在B的QC中进入DB Servers,增加对应的名称,提示缺少几个未定义就都加上。
3、重新再次迁移,继续报错如下(TMD耍老子):
正在迁移域项目...
正在迁移域 <DEFAULT> 项目:
项目 <Demo> (在 16:23:48 处开始):
第 1 步(共 4 步): 停用项目并升级源数据...
第 2 步(共 4 步): 正在将项目从源迁移到目标...
错误(位于 16:23:50):迁移出错: Cannot build directory item for key '[default_demo_db@jdbc:mercury:sqlserver://127.0.0.1:1433(td)]' in TD Tables Struct Dir
此错误真无奈,怎么都解决不了,在迁移时选择不复制数据库,直接使用A的链接都不行,放弃自动迁移。
二:手动迁移
在上面的迁移过程中,还是看到在 ..\Quality Center\repository\qc\Default下有把项目的目录迁移过来,而且看到B中已经有一些用户,所以认定是迁移了部分数据过来,只需要把SQL中的数据导入过来即可。比如要迁移的项目名叫CRM。
1、自动迁移一把,然后B的sabin中,remove掉迁移过来的项目CRM;
2、进到上面Default目录下,把迁移过来的CRM目录剪切走(因为没迁移成功的项目不能激活);
3、新建一个空项目,项目名用CRM,然后选择新建的空项目,Deactivate Project;
4、把第2步中剪切走的目录覆盖回来;
5、打开B中的SQLServer企业管理器,找到CRM数据库实体,名字应该是default_CRM_db,右键导入数据;
6、(重要)导入时要注意,源就输入A的信息,使用SQLServer身份验证,目标选择local,同样使用SQLServer身份验证,用户名td,密码tdtdtd,导入完成后无视它的错误;
7、进入B的sabin中,选择CRM项目,upgrade Project,大功告成;
因为我们之前只是用了TD的缺陷管理,至于需求和测试计划什么的没用到,所以这样可以把缺陷库完整的迁移过来,其它的不了解。记录一下怕忘掉。