ArcGIS Server有效where子句报‘无效’错误的节点异常问题
双节点ArcGIS Server查询不一致问题排查方案
- 核对节点版本与补丁
双节点必须保证ArcGIS Server的版本、补丁完全一致,哪怕细微版本差都可能导致SQL解析逻辑不同。直接对比两个节点的Server版本号(可通过Server Manager查看),确保完全匹配。 - 检查数据源连接一致性
别只看服务配置,单个节点的数据源连接可能出问题:- 确认两个节点连的是同一个数据源实例,避免一个用本地库、一个用远程库
- 核对数据源驱动版本,比如Oracle/PostgreSQL的驱动,不同版本对SQL语法的解析可能不一样
- 重置异常节点的服务缓存
异常节点可能存在配置缓存失效:- 登异常节点的Server Manager
- 停掉对应地图服务
- 清掉服务缓存目录(默认路径:
C:\arcgisserver\directories\arcgiscache\<服务名>) - 重启服务后再测
1=1查询
- 验证本地查询解析组件
在异常节点上用ArcCatalog连本地服务,直接在图层上跑1=1查询:- 如果本地也报错,说明该节点的Geodatabase查询组件有问题,修复或重装ArcGIS Server
- 临时禁用标准化查询定位问题
虽然全局开了Use Standardized Queries: true,但单个节点可能没同步:- 把异常节点的该服务临时改成
false,测试查询是否正常 - 要是正常,说明该节点的标准化查询组件异常,重新同步配置或修复组件
- 把异常节点的该服务临时改成
内容的提问来源于stack exchange,提问作者capton
相关产品推荐
相关产品推荐

