已尝试向要素服务发布由复杂 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 子句选择行子集的查询图层。