• 8920阅读
  • 2回复

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

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 yoVN|5  
1 用户登录时出现问题,如图: Y6OR I  
n1@ Or=5  
mF @D O$  
  W<OO:B.ty  
S+M:{<AR  
9  ?(P?H  
}< m@82\  
-^<`v{} Dn  
((E5w:=?  
2 打开项目时,出现“一个项目多于一个最高WBS”的提示; ba"a!#wA  
8+U':xR  
3 数据库升级之后,用户不能正常登录; h| ]BA}D  
Dwi[aC+k  
4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess' '$5o5\  
EDBEnginError KVVCP-1971-2 Key Violation ”的提示。 V[BlT|t  
Bl8&g]dk  
解决方案: MESPfS+  
^><B5A>;  
^"\., Y  
1、  解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。 ;3k6_ub  
> [|SF%  
2、  连接数据库: | QI-gw  
如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器 L~~Dj:%uq  
如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具 j[o5fr)L  
如果是Interbase请以sysdba登录ISQL _ Oe|ZQ  
/,Sd  
3、  执行下面语句 : j m|)  
select  proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1 5cE!'3Y  
本例中反馈结果为 4D\+_Ic3  
524 Y P!)k4n  
I#tEDeF2  
4、  执行下面语句 Y)L\*+ >"[  
select wbs_id, proj_node_flag from projwbs where proj_id = '524’  //524是上一条语句查询反馈的结果 @tLoU%  
本例中反馈结果为 T\ h_8  
wbs_id  proj_node_flag .W+ F<] r  
17340    Y r6-'p0|   
17350    N {@u}-6:wAT  
17351    N [+st?;"GF  
17352    N ].2it{gF?b  
17353    N u? f3&pA  
17354    N (A*r&Ak[  
17355    N O:a$ U:  
17356    N /m;w~ -N  
17357    N oLn| UWe_  
17443    Y o/fq  
;61m  
5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新, 'Sc3~lm(dH  
update projwbs set proj_node_flag = 'N' where wbs_id ='17340'  //17340是上一条语句查询反馈结果中WBS_id最大值。 y tmlG%  
执行完了结果应该为: *3<m<<>U  
(所影响的行数为 1 行) #U&G$E`7  
(所影响的行数为 1 行) I#Tl  
%;zWS/JhL  
6、关闭SQL工具; $XI5fa4Tt  
rDYq]`  
7、重新登录PM。  F ,{nG[PL  
论坛十六周年庆!

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

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