Skip To Content

00075: クエリ レイヤーに複雑なクエリがあります

このトピックの内容

複雑な SQL クエリによって定義されたクエリ レイヤーをフィーチャ サービスに公開しようとしました。

解決策

次のいずれかを実行します。

  • 編集が不要な場合は、フィーチャ サービスではなくマップ サービスを公開します。
  • 編集が必要であるため、フィーチャ サービスが必要な場合は、結合や WHERE 句などの複雑なエレメントを削除することで、クエリ レイヤーを定義する SQL クエリを単純化します。単純なクエリの例を次に示します。
    SELECT id, statename, population, shape FROM mydb.myuser.US_States
  • 公開されたフィーチャ サービスにクエリ レイヤーからのデータが必要でない場合は、公開する前にそのデータをマップから削除します。

追加情報

クエリ レイヤーは、SQL クエリによって定義されるレイヤーまたはスタンドアロン テーブルです。クエリ レイヤーによって、データベース管理システムに格納されている空間情報と非空間情報の両方を、ArcMap 内の GIS プロジェクトに統合できます。

ArcMap で作業を実行中に、SQL クエリを定義することでクエリ レイヤーを作成します。このクエリが、データベース内のテーブルとビューに対して実行され、結果セットが (クエリに空間フィールドが含まれるかどうかに応じて) レイヤーまたはスタンドアロン テーブルとして ArcMap に追加されます。

フィーチャ サービスを ArcGIS for Server に公開する場合は、クエリ レイヤーを定義する SQL クエリが単純である必要があります。単純なクエリはテーブルにフィールドのサブセットを含めることができますが (たとえば、SELECT objectid, shape FROM mydb.myuser.US_States)、フィーチャ サービスの公開では WHERE 句および結合がサポートされていません。たとえば、WHERE 句を使用して行のサブセットを選択するクエリ レイヤーを公開することはできません。

ArcGIS for Server 用のフィーチャ サービスの作成の詳細