日本語

問題: REST エンドポイントからホスト フィーチャ サービスの nullable プロパティを修正できない

説明

場合によって、Update Definition 操作を使用してホスト フィーチャ サービスのフィールドの "nullable" (NULL 値を許可)プロパティを変更しようとすると、変更は正常に行われたように見えるのに、元の値に戻ってしまうことがあります。 たとえば、あるフィールドの nullable プロパティの値を true から false に変更した後、 [レイヤー定義を更新] をクリックすると、「フィーチャ サービス レイヤーが更新されました」という正常に実行されたことを示すメッセージが表示されます。 しかし、サービス定義のチェック後、フィールドに対する変更はホスト フィーチャ サービスに適用されず、元の値がそのまま残ります。

これは、ArcMap でフィールドの [NULL 値を許可] プロパティを変更しようとした場合でも同様です。 すでに作成済みのフィーチャクラスのいずれかのフィールドを、nullable: true から nullable: false に変更しようとすると、次のエラーが返されます。

エラー:   
フィールドの [NULL 値を許可] の変更に失敗しました: フィールドの [NULL 値を許可] プロパティを変更できません。
テーブルまたはフィーチャクラスが空ではありません。

原因

この問題は、既存のフィーチャのフィールドにすでに NULL 値が存在している可能性があるために発生します。 フィーチャクラスまたはホスト フィーチャ サービスの作成後に、nullable プロパティを編集することはお勧めできません。 編集によってデータに問題が発生し、エラーが返される可能性があるからです。

解決策または対処法

ArcGIS for Desktop または ArcGIS Pro で、フィールドの nullable プロパティを変更した後には、ホスト フィーチャ サービスを再公開または上書きしてください。

注意:
NULL の許容されないフィールドを作成する唯一の方法は、フィーチャクラスの作成時 (または既存のフィーチャクラスに新しいフィールドを作成するとき) にそのプロパティを指定することです。

関連情報

ブログ: ArcGIS Online のホスト フィーチャ サービスの更新
ブログ: ArcGIS Online でホスト フィーチャ サービス スキーマを更新する方法
エラー: フィーチャ サービス レイヤー定義を更新できない。 lastEditDate の定義が無効です