TD8.0迁移到QC9.2,自动迁移失败,手动迁移

时间:2023-01-19 10:20:12

源机器A:TD8.0+SQLServer2000
目标机器B:QC9.2+SQLServer2000

一:自动迁移,
1、在A在A上安装QC迁移工具,然后在B中点击TOOLS>>Migration Tool,打算迁移,报错如下:
 TD8.0迁移到QC9.2,自动迁移失败,手动迁移
   解决办法:查找TDProjectMigrationProj.xco,一般在\program files\Mercury\Quality Center\application\20qcbin.war\Install下
            然后开始>>运行,执行 regsvr32 "路径\TDProjectMigrationProj.xco"
2、继续在B中执行TOOLS>>Migration Tool,打开迁移页面,输入相关信息,这里也报错,类似下图;
  TD8.0迁移到QC9.2,自动迁移失败,手动迁移
   解决办法:这是因为A中的DB Servers中,之前有用CHENHY和ZLGLB这样的名称作为连接字符串的名称,所以需要在B的QC中进入DB Servers,增加对应的名称,提示缺少几个未定义就都加上。
 TD8.0迁移到QC9.2,自动迁移失败,手动迁移
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的缺陷管理,至于需求和测试计划什么的没用到,所以这样可以把缺陷库完整的迁移过来,其它的不了解。记录一下怕忘掉。