• 8909阅读
  • 2回复

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

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 Q" an6ht|  
1 用户登录时出现问题,如图: Jx1JtnyP@  
W_N!f=HW  
j*) K> \  
  (!`]S>_w9  
5%Q[X  
rn8t<=ptH3  
/SZg34%  
Kzd)Z fnD0  
O(QJiS  
2 打开项目时,出现“一个项目多于一个最高WBS”的提示; gkyv[  
L>EC^2\  
3 数据库升级之后,用户不能正常登录; 2r=A'  
^d2bl,1  
4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess' Pa !r*(M)C  
EDBEnginError KVVCP-1971-2 Key Violation ”的提示。 e7.!=R{6  
OjiQBsgnj  
解决方案: lE?F Wt  
Q@lJ|  
[!E8C9Q#!  
1、  解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。 yr /p3ys  
G _] (7  
2、  连接数据库: jreY'y:  
如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器 5'Fh_TXTD  
如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具 Dab1^H!KT  
如果是Interbase请以sysdba登录ISQL L@ {5:#-  
qeyBZ8BG  
3、  执行下面语句 @:s|X  
select  proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1 3w Bc`vJ!  
本例中反馈结果为 e>kw>%3bl9  
524 Y =kspHP<k  
c!BiGw,;  
4、  执行下面语句 <,Zk9 t&  
select wbs_id, proj_node_flag from projwbs where proj_id = '524’  //524是上一条语句查询反馈的结果  nO~TW  
本例中反馈结果为 2EOt.4cP  
wbs_id  proj_node_flag *}\!&Zk"  
17340    Y b7/1 ]  
17350    N LV& tu7c  
17351    N .s_wP  
17352    N PF1m :Iz`d  
17353    N @^vVou_  
17354    N ?.:C+*+  
17355    N a<[@p  
17356    N eD*"#O)W  
17357    N j"E_nV:Qc  
17443    Y 6|0 5-x|  
;fhFv&`mE  
5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新, IN!m  
update projwbs set proj_node_flag = 'N' where wbs_id ='17340'  //17340是上一条语句查询反馈结果中WBS_id最大值。 NwmO[pt+  
执行完了结果应该为: Y XH9Q@Gn  
(所影响的行数为 1 行) +gTnq")wnI  
(所影响的行数为 1 行) Od'!v &  
5isejR{r  
6、关闭SQL工具; zQ}:_  
<!&&Qd-d6H  
7、重新登录PM。  j]6j!.1  
论坛十六周年庆!

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

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