Primary Key约束在对象UACCESS中出现冲突
Q" an6ht| 1 用户登录时出现问题,如图:
Jx1JtnyP@ W_N!f=HW j*)
K>
\ (!`]S>_w9 5%Q[X
rn8t<=ptH3 /SZg34% Kzd)Z
fnD0 O(QJiS 2 打开项目时,出现“一个项目多于一个最高WBS”的提示;
gkyv[ L>EC^2\ 3 数据库升级之后,用户不能正常登录;
2r=A' ^d2bl,1 4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'
Pa!r*(M)C EDBEnginError KVVCP-1971-2 Key Violation ”的提示。
e7.!=R{6 OjiQBsgnj 解决方案:
lE?F Wt Q@lJ| [!E8 C9Q#! 1、 解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。
yr
/p3ys G
_]
(7 2、 连接数据库:
jreY'y: 如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器
5'Fh_TXTD 如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具
Dab1^H!KT 如果是Interbase请以sysdba登录ISQL
L@
{5:#- qeyBZ8BG 3、 执行下面语句
@: s |X select proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1
3w
Bc`vJ! 本例中反馈结果为
e>kw>%3bl9 524 Y
=kspHP<k c!BiGw,; 4、 执行下面语句
<,Zk9 t& select wbs_id, proj_node_flag from projwbs where proj_id = '524’ //524是上一条语句查询反馈的结果
nO~TW 本例中反馈结果为
2EOt.4cP wbs_id proj_node_flag
*}\!&Zk" 17340 Y
b7/1] 17350 N
LV&
tu7c 17351 N
.s_wP 17352 N
PF1m :Iz`d 17353 N
@^vVou_ 17354 N
?.:C+*+ 17355 N
a<[@p 17356 N
eD* "#O)W 17357 N
j"E_nV:Qc 17443 Y
6|0
5-x| ;fhFv&`mE 5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,
IN!m update projwbs set proj_node_flag = 'N' where wbs_id ='17340' //17340是上一条语句查询反馈结果中WBS_id最大值。
NwmO[pt+ 执行完了结果应该为:
YXH9Q@Gn (所影响的行数为 1 行)
+gTnq")wnI (所影响的行数为 1 行)
Od'!v
& 5isejR{r 6、关闭SQL工具;
zQ}:_ <!&&Qd-d6H 7、重新登录PM。
j]6j!.1