ArcGisServices Query Like异常

问题

本机调用 ArcGisServices Query 正常,其它机器调用若包含Like关键字则无法查询结果(其它关键字均正常,in、=)
浏览器测试直接崩溃

http://XXX.XX.XXX.XX/ArcGIS/rest/services/ServicesName/MapServer/5/query

系统环境:ArcGis 10,Flex API 3.7

思路

检查跨域文件







Like 关键字转码问题

检查URL,尝试Get、Post提交,均异常

检查Log

Method failed.HRESULT = 0x80040207 : This is a FACILITY_ITF error that is specific to the interface that returned this error. See the documentation of the interface that returned this error for information about this HRESULT.

GeoDatabase Error :An invalid SQL statement was used. An invalid SQL statement was used.

查询帮助,得到如下信息:

What constitutes "valid" SQL depends on the backend database for a specific REST endpoint. The backend can be a Personal Geodatabase, File Geodatabase, Shapefile, or SDE Geodatabase (of different databases). Depending on the type and database, the SQL might be slightly different, especially for dates.

对比API

下载JS API 测试,发现最新JS API 查询居然没有问题。咨询官方,可能是ArcGis 10 Flex API bugger,让打sp1补丁试试。
唉,服务器软件太多,补丁有风险。

终章

模糊查询使用Text 替换 Where,规避Like 关键字

text    Description: A literal search text. If the layer has a display field associated with it, the server searches for this text in this field. This parameter is a short hand for a where clause of: 
where  like '%%'. The text is case sensitive. 
This parameter is ignored if the where parameter is specified.

Example: text=Los
where   Description: A where clause for the query filter. Any legal SQL where clause operating on the fields in the layer is allowed.

Example: where=POP2000 > 350000

你可能感兴趣的:(ArcGisServices Query Like异常)