Primary Key约束在对象UACCESS中出现冲突
|;A9A's 1 用户登录时出现问题,如图:
h_&4p=SQ N
>d|A]zH G&x'=dJ FOCoiocPi X,RT<GNNb E tJ~dL) ]urK$ Qm.z@DwFM{ CN.6E<9'kK 2 打开项目时,出现“一个项目多于一个最高WBS”的提示;
29"mE;j V~OUE]]Q 3 数据库升级之后,用户不能正常登录;
Z0e-W:&;kF +w "XNl 4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'
CE~r4 EDBEnginError KVVCP-1971-2 Key Violation ”的提示。
7{n\yl? 0jBKCu 解决方案:
sf Dg/ a I+0c8T(: l<:`~\# 1、 解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。
qh%i5Mu 7egq4gN]2Y 2、 连接数据库:
Js/N()X 如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器
e\`wlaP, 如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具
);=Q] > 如果是Interbase请以sysdba登录ISQL
F
y b[{" qtO1hZ 3、 执行下面语句
5)w4)K-% select proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1
$nj\\,(g 本例中反馈结果为
^D>fis 524 Y
'}_=kp'X o
WI!u 5 4、 执行下面语句
Q.yb
4 select wbs_id, proj_node_flag from projwbs where proj_id = '524’ //524是上一条语句查询反馈的结果
a_Jb>} 本例中反馈结果为
22z1g(;@ wbs_id proj_node_flag
C ck#Y 17340 Y
VrVDm*AGQ 17350 N
l_6e I 17351 N
/N>} 4Ay 17352 N
gSb,s [p&+ 17353 N
"v5ElYG 17354 N
c+8V|'4 17355 N
ul$,q05nb 17356 N
:<H8'4> 17357 N
]w!0u2K<Q\ 17443 Y
F_
81l< Fwb5u!_, 5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,
"Kq>#I'%W update projwbs set proj_node_flag = 'N' where wbs_id ='17340' //17340是上一条语句查询反馈结果中WBS_id最大值。
4^[
/=J} 执行完了结果应该为:
o,1Dqg4P3 (所影响的行数为 1 行)
\%TyrY+`K (所影响的行数为 1 行)
QjJfE<h l[oe*aYN7 6、关闭SQL工具;
IB8gDP2 -%,"iaO 7、重新登录PM。
et` 0Je