错误

错误:违反主键约束 [值]。 无法在对象 [值] 中插入重复的键。 重复的键值为 [value]。

Last Published: March 30, 2021

错误消息

当使用诸如压缩或协调/发布等操作来管理版本化数据时,可能会返回以下错误消息:

错误: 违反主键约束 [值]。 无法在对象 [值] 中插入重复的键。 重复的键值为 [value]。

原因

在添加表和删除表之间发现了不一致,例如增量表或版本化业务表中已分离或重复的行。 这些不一致可能由各种编辑方法引起,例如,在协调/发布过程中跳过中间版本。

注: 在协调版本时,建议使用“地理数据库管理”对话框中的“协调顺序”选项卡。 有关详细信息,请参阅 ArcMap:建议的协调顺序

解决方案或解决方法

要解决此问题,需要标识并修复版本表中的不一致,如下所述:

注: 仅地理数据库管理员具有运行诊断和修复工具的权限。 在运行修复之前,确保对数据库进行备份并且没有人正在地理数据库中进行编辑。
  1. 运行诊断版本表工具。 该工具将生成日志,用于标识存在不一致的要素类版本表。
    1. 目录中,导航至系统工具箱 > 数据管理工具 > 地理数据库管理 > 诊断版本表
    2. 诊断版本表窗口中,分配所需的输入数据库连接和诊断版本表日志位置,然后单击确定
  2. 运行修复版本表工具,以处理步骤 1 中的所有不一致情况。
    1. 目录中,导航至系统工具箱 > 数据管理工具 > 地理数据库管理 > 修复版本表
    2. 修复版本表窗口中,分配所需的输入数据库连接和修复版本表日志,然后单击确定
注: 有关工具的其他参数,请参阅帮助文档。 链接如下所列。

文章 ID:000016425

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容