• 8915阅读
  • 2回复

Primary Key约束在对象UACCESS中出现冲突,导致用户不能登录PM,不能打开项目 [复制链接]

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 |;A9A's  
1 用户登录时出现问题,如图: h_&4p= SQ  
N >d|A]zH  
G&x'=dJ  
  FOCoiocPi  
X,RT<GNNb  
E tJ~dL)  
]u rK$   
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\y l?  
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_6eI  
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  
论坛十六周年庆!

只看该作者 1楼 发表于: 2008-02-26
牛!直接操作数据库,对这点我是不敢轻举妄动的.
提供全国各个行业的定额资源库(含定额子目及人材机),为企业定制资源库,代写各类资源库.欢迎联系!

只看该作者 2楼 发表于: 2008-03-13
你牛,说实话,内容我还没有看懂 y' [LNp V  
数据库没有研究过
快速回复
限1000 字节
 
上一个 下一个