• 8917阅读
  • 2回复

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

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 lh(A=hn"n  
1 用户登录时出现问题,如图: {1#5\t>9yD  
shYcfLJ  
C3G?dZKv 2  
  P7 (&*=V  
$O%lYQY]  
-x:Wp*,  
yJ/m21f  
E@0w t^  
P-7!\[];te  
2 打开项目时,出现“一个项目多于一个最高WBS”的提示; zc*qmb  
9P{5bG0o8  
3 数据库升级之后,用户不能正常登录; O<L /m[]  
p%xo@v(  
4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess' D7sw;{ns  
EDBEnginError KVVCP-1971-2 Key Violation ”的提示。 u32wS$*8  
: b $ M  
解决方案: :2 QA #  
0b?9LFd  
E+ JGqk  
1、  解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。 HR['y9 U  
PM [6U#  
2、  连接数据库: riFE.;  
如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器 ~AjbF(Ad  
如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具 dWI/X  
如果是Interbase请以sysdba登录ISQL ""d3ownKhw  
a9FlzR  
3、  执行下面语句 |Ro\2uSr  
select  proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1 7:jSP$  
本例中反馈结果为 o"7,CQye  
524 Y  by>,h4  
6&.[ :IHw  
4、  执行下面语句 Qy0bp;V/  
select wbs_id, proj_node_flag from projwbs where proj_id = '524’  //524是上一条语句查询反馈的结果 ~4XJ" d3L  
本例中反馈结果为 H# 2'\0u  
wbs_id  proj_node_flag J\m7U   
17340    Y nzhQ\'TC  
17350    N FZj tQ{M  
17351    N 0ZkA .p  
17352    N T(J&v|FK  
17353    N Tg{d #U_qB  
17354    N 8Ln:y'K  
17355    N "=P@x|I  
17356    N { F. Ihw  
17357    N Kc{fT^E  
17443    Y )Je iTh^  
(Pvch!  
5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新, oE-i`;\8  
update projwbs set proj_node_flag = 'N' where wbs_id ='17340'  //17340是上一条语句查询反馈结果中WBS_id最大值。 42Kzdo|}  
执行完了结果应该为: sI9~TZ :  
(所影响的行数为 1 行) *( D_g!a  
(所影响的行数为 1 行) <Ni]\-*  
Mtt VgNV  
6、关闭SQL工具; K V  4>(  
QVzLf+R~  
7、重新登录PM。  uysGOyi<u  
论坛十六周年庆!

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

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