スタンドアロン テーブルが複雑な SQL クエリで定義されたクエリ テーブルであり、フィーチャ サービスを ArcGIS for Server に公開しようとしています。
解決策
次のいずれかを実行します。
- 編集が不要な場合は、フィーチャ サービスではなくマップ サービスを公開します。
- 編集が必要であるため、フィーチャ サービスが必要な場合は、結合や WHERE 句などの複雑なエレメントを削除することで、クエリ レイヤーを定義する SQL クエリを単純化します。単純なクエリの例を次に示します。
SELECT id, city, population FROM mydb.myuser.city_stats
- あるいは、必要なければスタンドアロン テーブルを削除します。
追加情報
クエリ レイヤーは、SQL クエリによって定義されるレイヤーまたはスタンドアロン テーブルです。クエリ レイヤーによって、DBMS に格納されている空間情報と非空間情報の両方を、ArcMap 内の GIS プロジェクトに簡単に統合できます。クエリ レイヤーでは SQL を使用してデータベース テーブルとビューを直接検索するので、クエリ レイヤーで使用する空間情報はジオデータベース内に存在する必要はありません。
ArcMap で作業を実行中に、SQL クエリを定義することでクエリ レイヤーを作成します。このクエリが、データベース内のテーブルとビューに対して実行され、結果セットが (クエリによる定義に基づいて) レイヤーまたはスタンドアロンテーブルとして ArcMap に追加されます。
フィーチャ サービスを ArcGIS for Server に公開する場合は、クエリ テーブルを定義する SQL クエリが単純である必要があります。一般的な SQL 文は、SELECT * FROM Test.myuser.US_States のようになります。単純なクエリは、テーブルにフィールドのサブセットを含めることができます。たとえば、SELECT objectid, pop2000, pop2010 FROM Test.myuser.US_States のようになります。公開の際に、WHERE 句と結合はサポートされません。たとえば、単純なクエリで行のサブセットを選択するクエリ テーブルは、WHERE 句によって制御されるため公開することはできません。