问题

问题:无法从 REST 端点修改托管要素服务的可为空属性

Last Published: April 25, 2020

描述

在某些情况下,尝试使用“更新定义”操作更改托管要素服务中字段的“可为空”属性时,更改似乎已成功,但会恢复为原始值。 例如,将字段的可为空属性从 true 值更改为 false 值,然后单击“更新图层定义”后,将返回“更新的要素服务图层”的成功消息。 但是,在检查服务定义后,对该字段所做的更改不会应用于托管要素服务,并保留原始值。

当 ArcMap 中的任何要素类尝试更改字段的“可为空”属性时,这一点也适用。 当尝试更改已创建的要素类的一个字段时:从“可为空:true”到“可为空:false”,将返回以下错误:

错误: 
更改字段“可为空”失败:无法更改字段的“可为空”属性。
表或要素类不为空。

原因

出现此问题是因为现有要素的该字段中可能已存在空值。 建议一旦创建了要素类或托管要素服务,就不要编辑可为空属性。 编辑可能会导致数据出现问题,或者可能会返回错误。

解决方案或解决方法

从 ArcGIS for Desktop 或 ArcGIS Pro 更改字段的“可为空”属性后,重新发布或覆盖托管要素服务。
注:
创建不可为空字段的唯一方法是在创建要素类时(或在现有要素类中创建新字段时)指定属性。

文章 ID:000013994

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项