Primary Key约束在对象UACCESS中出现冲突
+g *k*e>l 1 用户登录时出现问题,如图:
P.\nLE J= :*i f k%'m *T f
U^lW@u?: A&5:ATQ/| MHj,<|8Q afEF]i s Kicn5 1QqHF$S 2 打开项目时,出现“一个项目多于一个最高WBS”的提示;
zDOKShG "B
7`'jz 3 数据库升级之后,用户不能正常登录;
T(?HMyg3 TCKu,}s 4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'
$4SzUZ0 EDBEnginError KVVCP-1971-2 Key Violation ”的提示。
*LC+ PZV@ `Nh
" 解决方案:
K0pac6] ^ZDBO/ *u6Y8IL1 1、 解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。
vl Ez9/H Z#l%r0(o 2、 连接数据库:
L)QE`24 如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器
?|{XZQ~ 如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具
bAk&~4Y_" 如果是Interbase请以sysdba登录ISQL
ppIbjt6r 2?C`4AR[2H 3、 执行下面语句
RPnRVJ&"Z select proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1
= VLS/\A 本例中反馈结果为
YNrp
}KQ 524 Y
q_W0/Ki8 R
#]jSiS 4、 执行下面语句
g$:Xuw1 select wbs_id, proj_node_flag from projwbs where proj_id = '524’ //524是上一条语句查询反馈的结果
^04Q %, 本例中反馈结果为
gk BdR + wbs_id proj_node_flag
C${S^v 17340 Y
Cp`j/rF 17350 N
K
]OK:hY4 17351 N
I\?9+3 XnQ 17352 N
qa(>wR"mT 17353 N
;g_>
;tR/ 17354 N
@UBjq%z 17355 N
+t4BQf 17356 N
Ee1LO#^_6 17357 N
t&5%?QyM 17443 Y
&bqT/H18 A`}yBSb 5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,
O9'x-A% update projwbs set proj_node_flag = 'N' where wbs_id ='17340' //17340是上一条语句查询反馈结果中WBS_id最大值。
k *R<, 执行完了结果应该为:
q'oMAM f} (所影响的行数为 1 行)
>U1R.B7f (所影响的行数为 1 行)
_8}QlT mD:IO 6、关闭SQL工具;
?Y:x[pOe 1tCQpf 7、重新登录PM。
5_0(D;Q