Primary Key约束在对象UACCESS中出现冲突
yoVN|5 1 用户登录时出现问题,如图:
Y6OR
I
n1@ Or=5 mF
@DO$ W<OO:B.ty S+M:{<AR 9
?(P?H }<
m@82\ -^<`v{}
Dn ((E5w:=? 2 打开项目时,出现“一个项目多于一个最高WBS”的提示;
ba"a!#wA 8+U':xR 3 数据库升级之后,用户不能正常登录;
h|
]BA}D Dwi[aC+k 4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'
' $5o5\ EDBEnginError KVVCP-1971-2 Key Violation ”的提示。
V[BlT|t Bl8&g]dk 解决方案:
MESPfS+ ^><B5A>;
^"\.,Y 1、 解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。
;3k6_ub > [|SF%
2、 连接数据库:
|
QI-gw 如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器
L~~Dj:%uq 如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具
j[o5fr)L 如果是Interbase请以sysdba登录ISQL
_ Oe|ZQ /,Sd 3、 执行下面语句
:j m|) select proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1
5 cE!'3Y 本例中反馈结果为
4D\+_Ic3 524 Y
P!)k 4n I#tEDeF2 4、 执行下面语句
Y)L\*+
>"[ select wbs_id, proj_node_flag from projwbs where proj_id = '524’ //524是上一条语句查询反馈的结果
@tLoU% 本例中反馈结果为
T\h_8 wbs_id proj_node_flag
.W+ F<]
r 17340 Y
r6-'p0| 17350 N
{@u}-6:wAT 17351 N
[+st?;"GF 17352 N
].2it{gF?b 17353 N
u?f3&pA 17354 N
(A*r&Ak[
17355 N
O:a$ U:
17356 N
/m;w~-N 17357 N
oLn| UWe_ 17443 Y
o /fq ;6 1m 5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,
'Sc3~lm(dH update projwbs set proj_node_flag = 'N' where wbs_id ='17340' //17340是上一条语句查询反馈结果中WBS_id最大值。
ytmlG% 执行完了结果应该为:
*3<m<<>U (所影响的行数为 1 行)
#U&G$E`7 (所影响的行数为 1 行)
I#Tl %;zWS/JhL 6、关闭SQL工具;
$XI5fa4Tt r DY q]` 7、重新登录PM。
F
,{nG[PL