I try to have a Spatial Query, river is a GEO table ,indexed by R_TREE, PROJECTION IS WGS84;select a.name from river a where SDO_RELATE(a.GEOLOC,MDSYS.SDO_GEOMETRY(2003,8307,NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(
104.034813,30.636537,104.087084,30.658078)),
'mask=anyinteract querytype=WINDOW')='TRUE'all the error informaton as follow:
ERROR位于第1行(指定8307后)
ORA-29902:执行ODCIIndexStart()例行程序中出错
ORA-13373:测量数据不支持类型为Extent的元素
ORA-06512:在“MDSYS.SDOI_NDEX_METHOD_9I”,line232
ORA-06512:在line1当设 SRID=NULL,为:
select a.name from river a where SDO_RELATE(a.GEOLOC,MDSYS.SDO_GEOMETRY(2003,NULL,NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(
104.034813,30.636537,104.087084,30.658078)),
'mask=anyinteract querytype=WINDOW')='TRUE'all the error错误 informaton as follow:
ORA-29902:执行ODCIIndexStart()例行程序中出错。
ORA-13208:对运算符[window SRID does not match layer SRID]求值时出现内部错误
ORA-06512:在“MDSYSSDOINDEXMETHOD9I”,line232
ORA-06512:在line1when use SDO_filter the above two problems also will appear.
I don't  know why and how to correct them??

解决方案 »

  1.   

    检查一下
    SELECT SRID FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME='RIVER'
    对应的SRID与8307(对应的你输入的MDSYS.SDO_GEOMETRY中的SDO_SRID)是否是一致的
      

  2.   

    ORA-29902 error in executing ODCIIndexStart() routine  Cause The execution of ODCIIndexStart routine caused an error.  
    Action Examine the error messages produced by the index type code and take appropriate action.  ORA-06512 at stringline string  Cause Backtrace message as the stack is unwound by unhandled exceptions.  
    Action Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or database administrator.