客服中心
Primary Key约束在对象UACCESS中出现冲突,导致用户不能登录PM,不能打开项目

知识IDPowerBT0024

适用版本:3.5.X,4.0,4.1,5.0

出现问题Primary Key约束在对象UACCESS中出现冲突

          1 用户登录时出现问题,如图:

 

2 打开项目时,出现“一个项目多于一个最高WBS”的提示;

3 数据库升级之后,用户不能正常登录;

4 出现“Key violation. Violation of primary key constraint 'Pk_UAccess'

EDBEnginError KVVCP-1971-2 Key Violation ”的提示。

 解决方案: 1  解决这个问题,要求对数据库进行一定地修复,所以,请先对数据库PMDB进行备份。

2  连接数据库:

l         如果是MS SQL Server

请以privuser用户登录MS SQL Server的查询分析器

l         如果是Oracle

请以admuser用户登录OracleSQLPlus,或者其他类似的工具

l         如果是Interbase

请以sysdba登录ISQL

3  执行下面语句

select  proj_id, proj_node_flag from projwbs where proj_node_flag = 'Y' group by proj_id, proj_node_flag having count(1) > 1

本例中反馈结果为

524 Y

4  执行下面语句

select wbs_id, proj_node_flag from projwbs where proj_id = '524’  //524是上一条语句查询反馈的结果

本例中反馈结果为

wbs_id   proj_node_flag

17340    Y
17350    N
17351    N
17352    N
17353    N
17354    N
17355    N
17356    N
17357    N
17443    Y

5、选择上述语句中反馈中最大值,本例中最大值为17443 Y。运行下列语句更新,

update projwbs set proj_node_flag = 'N' where wbs_id ='17340'  //17340是上一条语句查询反馈结果中WBS_id最大值。

执行完了结果应该为:

(所影响的行数为 1 行)

(所影响的行数为 1 行)

6、关闭SQL工具;

               7、重新登录PM