sharonzhen
2017-06-26 09:25 阅读 540

关于oracle_spatial空间函数报错的问题

select * from cssp_base_broadcast t,
   (select mdsys.sdo_geometry(2003,
                              8307,
                              null,
                              mdsys.sdo_elem_info_array(1, 1003, 3),
                              mdsys.sdo_ordinate_array(126.531705886243,
                                                       45.8092143142683,
                                                       126.49806025636,
                                                       45.798025305247)) region
      from cssp_base_planning) a
 WHERE sdo_inside(t.location, a.region) = 'TRUE'

sql语句执行时报错:
ORA-29902:执行ODCIIndexStart()例行程序中出错
ORA-13034:SDO_GEOMETRY对象中位于SDO_ORADINATE_ARRAY中的数据无效
ORA-06512:在“MDSYS.SDO_INDEX_METHOD_10I”,line416
第一,这条语句在另外一个数据库执行不报错。
第二,在该数据库下,单独执行where之前的语句,不报错。
sdo_inside,sdo_contains等空间比较函数就不好用了。
有大神遇到过这样的问题么?求指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

相关推荐