• 8906阅读
  • 2回复

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

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 `8;,&<U'`  
1 用户登录时出现问题,如图: TE% #$q  
kLt9; <L  
QaWHz   
  P4j8`}&/  
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 4llD6&%  
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  
执行完了结果应该为: fy&#M3UA\U  
(所影响的行数为 1 行) )]%e  
(所影响的行数为 1 行) QVIcb ;&:}  
3A-*vaySV  
6、关闭SQL工具; pw@`}cM=  
<57g{e0I  
7、重新登录PM。  8 AFMn[{  
论坛十六周年庆!

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

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