Primary Key约束在对象UACCESS中出现冲突
`8;,&<U'` 1 用户登录时出现问题,如图:
TE%
#$q kLt9;<L QaWHz
P4j 8`}&/ Pzp+I} neh;`7~5@K ;{f?? G tIb21c q o
L Vtu5 2 打开项目时,出现“一个项目多于一个最高WBS”的提示;
Z.':&7Y c5E#QV0&v~ 3 数据库升级之后,用户不能正常登录;
,p!B"#
ot F|?'9s*;6G 4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'
5 n+
e EDBEnginError KVVCP-1971-2 Key Violation ”的提示。
ml.;wB| -,Q $ 解决方案:
Y^6[[vaj2 ;DD>k bd BKQIo)g.G 1、 解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。
B9e.-Xaf 1Vf78n 2、 连接数据库:
vZE|Z[M+< 如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器
R+E_#lP_$ 如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具
3G%wZ,)
C 如果是Interbase请以sysdba登录ISQL
8j
ggc#. 1a&/Zlr 3、 执行下面语句
LgP> u?]n select proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1
C[xJU6z 本例中反馈结果为
o)tKH@`vE 524 Y
EK?@Z.q+ v`S2M 4、 执行下面语句
j?\$G.Y select wbs_id, proj_node_flag from projwbs where proj_id = '524’ //524是上一条语句查询反馈的结果
jj!N39f 本例中反馈结果为
BFMS*t` wbs_id proj_node_flag
t/KcXM 17340 Y
^n&]HzT`y 17350 N
1mHwYT+ 17351 N
W?qpnPW 17352 N
#)^^_ 17353 N
qr)v'aC
3 17354 N
4l lD6&% 17355 N
5/B#) gm 17356 N
.P)s4rQ\ 17357 N
7_9+=.
+X5 17443 Y
:`0'GM" ` #V.ZdLo( 5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,
q&zny2]) update projwbs set proj_node_flag = 'N' where wbs_id ='17340' //17340是上一条语句查询反馈结果中WBS_id最大值。
MV:W@)rg 执行完了结果应该为:
fyM3UA\U (所影响的行数为 1 行)
)]%e (所影响的行数为 1 行)
QVIcb;&:} 3A-*vaySV 6、关闭SQL工具;
pw@`}cM= <57g{e0I 7、重新登录PM。
8
AFMn[{