一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

转移TD Porject的问题及TD对应的数据库表字段(转载)

上一篇 / 下一篇  2007-06-27 09:31:10 / 个人分类:TD

51Testing软件测试网\$k(XaR)^y(c

 

,iPE)|-YiEp"k"F051Testing软件测试网KkOfRI

原文51Testing软件测试网6BGL5~n$] Q {+Od

51Testing软件测试网 HxQMFX,`q%H-Z

年前加班转移各项目组的TD库到一台机器上做统一管理之用,折腾了好几天。因为有些项目组是从TD7.0就开始建的project,之后升级为TD8.0,这次又要转到新的机器上所以出现了不少问题。下面简单说一下我遇到的情况和解决办法。(下文介绍的方法均以文字为准,图为辅助说明)51Testing软件测试网j,V7zt i-m

*Pv H7k!ZWFx051Testing软件测试网| Vq)S7b
首先是正常的操作:
+L.B[:i,@L0一般我们从不同机器上迁移TD库project的步骤如下(原主机为hostA,目的主机为IT-DIONYSUS,hostA中已经有TD和project,我们在IT-DIONYSUS上安装一个TD)
G7E H~e|%AJ01. 进入IT-DIONYSUS TD库的Site Administrator,在projects页面中选择restore project,浏览选中hostA共享的TD库DBID.ini文件

p6}lDl We0XB051Testing软件测试网 };V3N B{5[yI

这时点击恢复会报告DB Server没有找到,这是因为IT-DIONYSUS的TD库中没有hostA中的DB Server,我们需要进入DB Server页面把hostA的数据库添加进来,设置验证方式为SQL Auth认证,最后ping一下确认可以正常连通

'{{ Q%{;K@%k9?V,I0

M5@0Gwn\ v;k8S0回到project页面恢复,成功后可以看到hostA中TD库的project已经出现在当前TD中了(但此时project的DB server还是指向hostA上的数据库)。51Testing软件测试网,D\{vZ%g'v\@3@
2. 选择Create Project新建一个项目,数据库类型选择MS-SQL51Testing软件测试网 o3Z,w^ L+x`

51Testing软件测试网hPf2J;k;T"X#W

51Testing软件测试网)m)F9NY{Z)N
下一步选择数据库的时候Server Name选择为IT-DIONYSUS机器上的数据库(即,这个project的数据库要建立在IT-DIONYSUS上)

U K@U0x0

(JLio9BS4Y;v:H\%F'E0
}B$Pp*HX8Y i,p1B0下一步选择Copy

.E&m] }W8n$G)T`#p[%b051Testing软件测试网PR Y Wh2lrAB*c

 51Testing软件测试网0~-qRK x x~

^D KY.h&U0
/aV[TDBW-I5U0注意选择对要复制的project51Testing软件测试网-](v+?*n8g)]X

51Testing软件测试网6v ~R5r8wE5^i P

51Testing软件测试网$['~1K6J$Z:MR+g|
一切顺利的话这个project就从hostA上完全复制到IT-DIONYSUS上了,并且数据库也指向本机了。51Testing软件测试网 T'c7S PjtH:P
如果上述操作过程中没有报错的话则迁移过来的project是最完整且正常的,所有用户自己添加的字段等信息完全保留。51Testing软件测试网.GYa\ z-L7_z

51Testing软件测试网.[c&Cp+KK~

51Testing软件测试网]Pm1C4un2fb
实际过程中遇到的问题和解决方法:
F8U'{Xkd9^C5A01. 首先是部分project的DB Server与TD Server不一致。当我们安装TD的时候有一步让你选择输入MS SQL Alias,很多人就是用的默认名称“TDSQLSERVER”
1^ Z%e^4G#KwcF0    
;}/xR!C)d%X _b0当从IT-DIONYSUS上恢复远程project时必须要在DB Server中新建一个名为TDSQLSERVER的服务器,但这个DB SERVER是无法ping通的(后面会讲到如何让其可以使用TDSQLSERVER),因为网络中没有一个叫TDSQLSERVER的SQL服务器,所以从恢复这一步就无法走通。
;J)IU+CX |_0 方法1:在原主机(还是以hostA为例)TD库的DB Server中新建一个服务器,名字就是本机SQL服务器的名字hostA,Create Project,选择数据库为hostA,Copy那个DB与TD不一致的project。这样再从IT-DIONYSUS上恢复我们新建的这个project即可,这个project的DB Server是可以在网络中找到且连通的。
gg MY(g7a$`0 方法2:打开IT-DIONYSUS机器上的SQL Server 客户端网络实用工具,点击“别名”,设置TDSQLSERVER的真实服务器名hostA

v9\8@g:C2[0M5F051Testing软件测试网2y7_/{l v7}\

再在TD的DB Server中新建一个叫TDSQLSERVER的服务器,输入hostA上的用户和密码,ping一下是可以通的51Testing软件测试网fN*k$|}#maA`

51Testing软件测试网6} w'`%CIFDc

51Testing软件测试网v)[zvs
51Testing软件测试网H(L(s1K$z+k

51Testing软件测试网kKG]Y

 这样我们就可以从IT-DIONYSUS这一端设置,正常复制hostA上的project了。
.K0[q5yef02. 本身原数据库就已经存在问题,hostA上已经不能正确新建或激活project,那我们只有从SQL Server强行复制表了,注意这样的复制是有问题的,复制过来的project将丢失部分信息。51Testing软件测试网T|2OW(H
方法:以前有网友已经总结过的,这里我再说一下吧。打开IT-DIONYSUS上的Site Administrator,直接Create project,不复制。打开IT-DIONYSUS上的SQL企业管理器,建立(local)和hostA的注册连接。在(local)的数据库中找到新建完成的数据库-名称为:Domain名+project名。右键菜单里选择“所有任务”->“导入数据”
xy'K9?Yd#G8~rE0

E&Iq x%vgSG{051Testing软件测试网 m'QV|4z*l&l i

数据源选择服务器hostA上的project库,用户为sa
G;t0Y!@Y IeD0服务器选择本机,数据库即为新建的那个库,这里的用户一定要选择td,密码为tdtdtd!
i6m `3{s,[6~zX0之后就是导入所有表。过程中会出现部分复制错误。
U-svVM1B9?d] Y5c0数据库复制完成后还需要将project的附件等文件夹复制过来:将hostA project文件夹下的attach文件夹所有内容拷贝到IT-DIONYSUS的对应project下,之后根据情况复制其他文件夹的内容(有的文件夹里没内容,可以不复制),注意不要复制DBid.ini文件!!

7|K1|.hG?L-l ET;H0

8C[$WoDk;}0这样强行转移project后用户和组等信息会丢失,只得自己添加。而且还有很多奇怪的问题,例如添加bug时bug号有错误,以前test plan中的测试用例都跑到一个文件夹下了。于是我打开SQL的事件探查器跟踪了一把,查到TD中部分表和字段对应的信息。这里仅作简单介绍,如果有朋友遇到和我同样的问题,也许可以通过直接操作SQL数据库做补救,但不到万不得已不要这样做。

P/Hx7fC$D{"\0

s'JtL+s$RhC0
[c:tx ~_S'b0我们在TD库中作提交bug等操作的TD总会首先查询其数据库中的SEQUENCES表,表里数据如下:51Testing软件测试网(qU+U&b:K2g/W
 

d'v1SE)Utzdgs0

y @ YD/O0其中BUG字段后面的值表示当前库中最大的bug号,当我们再提交bug的时候TD会首先查询这里,并将我们提交的bug号在此基础上加1。TEST字段后面的值表示TD库中Test Plan页面下测试用例的最大ID号。我们new test时这里会加1。51Testing软件测试网c9w9d#n)p-q0kav
知道这些信息了,当我们的TD库bug号增加不对时可以直接从这里修改。这个数据库中还有一个BUG表,里面存储的都是bug具体信息51Testing软件测试网$?,r'b)x:N4Y `
 51Testing软件测试网+s2pYzr:Z-H

_ D+o.}XDR051Testing软件测试网^tN(O3`*i

新增测试用例如果出现问题也极有可能是因为SEQUENCES的test id有问题,比如id莫名其妙的变小了,致使增加的id号会和已有的id重复。数据库中有一个TEST表,里面存储的都是测试用例的信息,但测试用例还是挂靠在一个文件夹下的,这个文件夹id可以从ALL_LISTS表中查看

LM@)oe^.e051Testing软件测试网RJF`?

51Testing软件测试网!o3vA3O}3q*K%j1m
 
P pM#_PW WD0 51Testing软件测试网DR#eV}-J*I4g.k
我们可以进入TD查看一下测试用例与文件夹的所属关系:
~ L#L%]~\0

0K0}2O*F[0

)rhu([5`+s&Z"}0 

3Di+j l2c^#m#z&s0

TAG: TD

 

评分:0

我来说两句

Open Toolbar