• 8919阅读
  • 2回复

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

上一主题 下一主题
 

只看楼主 倒序阅读 0楼 发表于: 2008-02-26
Primary Key约束在对象UACCESS中出现冲突 +g*k*e>l  
1 用户登录时出现问题,如图: P.\nLE J=  
:*i f  
k%'m*Tf  
  U^lW@u?:  
A&5:ATQ/|  
MHj,<|8Q  
afEF]i  
s Kicn5  
1QqHF$S  
2 打开项目时,出现“一个项目多于一个最高WBS”的提示; zDOKShG  
"B 7`'jz  
3 数据库升级之后,用户不能正常登录; T(?HMyg3  
TCKu,}s  
4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess' $4SzUZ0  
EDBEnginError KVVCP-1971-2 Key Violation ”的提示。 *LC+ PZV@  
` Nh "  
解决方案: K0pac6]  
^ZDBO/  
*u6Y8IL1  
1、  解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。 vl E z9/H  
Z#l%r0(o  
2、  连接数据库: L)QE`24  
如果是MS SQL Server请以privuser用户登录MS SQL Server的查询分析器 ?|{XZQ~  
如果是Oracle请以admuser用户登录Oracle的SQLPlus,或者其他类似的工具 bAk&~4Y_"  
如果是Interbase请以sysdba登录ISQL ppIbjt6r  
2?C`4AR[2H  
3、  执行下面语句 RPnRVJ&"Z  
select  proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1 =VLS/\A  
本例中反馈结果为 YNrp }KQ  
524 Y q_W0/Ki8  
R  #]jSiS  
4、  执行下面语句 g$:Xuw1  
select wbs_id, proj_node_flag from projwbs where proj_id = '524’  //524是上一条语句查询反馈的结果 ^04Q%,  
本例中反馈结果为 gkBdR +  
wbs_id  proj_node_flag C${ S^v  
17340    Y Cp`j/rF  
17350    N K ]OK:hY4  
17351    N I\?9+3 XnQ  
17352    N qa(>wR"mT  
17353    N ;g_> ;tR/  
17354    N @UBjq%z  
17355    N +t4BQf  
17356    N Ee1LO#^_6  
17357    N t&5%?QyM  
17443    Y &bqT /H18  
A`}yBSb  
5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新, O9'x -A%  
update projwbs set proj_node_flag = 'N' where wbs_id ='17340'  //17340是上一条语句查询反馈结果中WBS_id最大值。 k *R<,  
执行完了结果应该为: q'oMAMf}  
(所影响的行数为 1 行) >U1R.B7f  
(所影响的行数为 1 行) _8}QlT  
mD:IO  
6、关闭SQL工具; ?Y:x[pOe  
1tCQpf  
7、重新登录PM。  5_0(D;Q  
论坛十六周年庆!

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

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