Skip To Content

00120:查询表具有复杂查询

在本主题中

独立表是由复杂 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 查询来定义查询表。以下是常见的示例:SELECT * FROM Test.myuser.US_States。简单查询可包含表中的字段子集,例如 SELECT objectid, pop2000, pop2010 FROM Test.myuser.US_States。进行发布时不支持 WHERE 子句和连接;例如,无法发布在简单查询中选择了行子集的查询表,因为该表受 WHERE 子句的控制。

了解为 ArcGIS for Server 创作要素服务的更多信息