Oracle空间查询的奇怪行为

Oracle空间查询的奇怪行为,oracle,spatial,Oracle,Spatial,以下空间查询可以通过SQLDEVELOPER客户端正常运行: SELECT /*+ LEADING(C) USE_NL(C, P) INDEX(P HARBOUR_IDX)*/ P.DESCRIPTION, C.ID_TRACK, SDO_NN_DISTANCE(1) AS DISTANCE FROM HARBOUR P, CINEMATICS C WHERE SDO_NN(P.GEOM, C.GEOM, 'SDO_NUM_RES=1 DISTANCE=10 UNIT=KM ', 1) = 'T

以下空间查询可以通过SQLDEVELOPER客户端正常运行:

SELECT /*+ LEADING(C) USE_NL(C, P) INDEX(P HARBOUR_IDX)*/
P.DESCRIPTION, C.ID_TRACK, SDO_NN_DISTANCE(1) AS DISTANCE
FROM HARBOUR P, CINEMATICS C
WHERE SDO_NN(P.GEOM, C.GEOM,
'SDO_NUM_RES=1 DISTANCE=10 UNIT=KM ', 1) = 'TRUE'
AND C.ID_TRACK = 180810  
但如果我尝试用另一个数据库客户端(如Toad或DBeaver)提交相同的查询,结果是:

Errore SQL [13249] [72000]: ORA-13249: SDO_NN cannot be evaluated without using index
ORA-06512: a "MDSYS.MD", line 1723
ORA-06512: a "MDSYS.MDERR", line 17
ORA-06512: a "MDSYS.PRVT_IDX", line 9
如果我尝试在TomcatWeb服务下运行的Java程序中执行SELECT语句,也会出现同样的行为。如有任何回复,将不胜感激。多谢各位