操作方法:从要素类中删除 GlobalID 列
摘要
GlobalID 列用于保持行在地理数据库之间的唯一性。 某些类型的地理数据库复制(例如参与复本的数据集的单向和双向复制)需要此唯一标识符列。
请转至以下 URL 的全局标识符部分以阅读有关 GlobalID 列的详细信息:
地理数据库字段数据类型
过程
虽然存在有关如何添加 GlobalID 列及其用途的文档,但未提及任何有关从数据集中将其删除的信息。 删除 GlobalID 列的限制在整个用户界面中用于删除此特定列的选项不存在或灰显的位置处都非常明显。
尝试从 ArcCatalog 的“要素类属性字段”选项卡中删除 GlobalID 字段将产生以下错误消息:
“无法删除一个或多个所选字段。”
这样做的原因是为了保护数据集不会在未完全理解此操作后果的情况下删除 GlobalID 列。 从属于复本的数据集中删除 GlobalID 会使复本无效并导致复本同步过程失败。
但是,可能存在用户希望移除 GlobalID 列的情况。 例如,如果数据不再是复本的一部分,或者在输出格式不支持或识别 GlobalID 列内容的情况下,则可能需要在完成操作之前将其移除。 操作可能包括将要素类内容导出到 coverage。
要解决此问题,请使用 (IClassSchemaEdit3) 或者从 ArcCatalog 中以编程方式删除 GlobalID 列。 以下提供的说明将介绍如何使用 ArcCatalog 创建不含 GlobalID 字段的现有要素类的副本:
警告: 只能使用简单数据类型来尝试这种使用要素类至要素类工具的 ArcCatalog 导出方法
- 右键单击该要素类,然后单击导出至地理数据库(单个)。
- 在要素类至要素类工具中,为输出位置、输出要素类等指定所有信息。
- 在字段映射(此工具的可选步骤)下,确保从目标要素类位置删除 GloblaID 字段。
由此将创建一个不含 GlobalID 字段的新要素类,可用于完成所需任务。
相关信息
- 准备要复制的数据
- 添加和删除 GlobalID (ArcObjects .NET 10.8 SDK)
- 添加和移除 GlobalID 列 (ArcObjects .NET 10.1 - 10.3 SDK)
- IClassSchemaEdit3 界面
上次修改时间: 5/5/2021
文章 ID: 000009574
软件: ArcGIS-ArcInfo 9.2 ArcSDE 9.3.1, 9.3, 9.2, 10