在oracle 11g中的SDO_GEOMETRY列上创建空间索引时出错

时间:2017-09-28 11:49:57

标签: oracle oracle11g spatial-index oracle-spatial

我正在使用Oracle 11g (Oracle数据库11g企业版11.1.0.7.0版 - 64位生产版),我有一个包含 SDO_GEOMETRY 类型列的表。我想在此列上创建空间索引( NEW_SHAPE )。我的查询如下:

Error starting at line : 23 in command -
CREATE INDEX GIS_GEOM_SRID3857_SPTIDX ON GIS_GEOM_SRID3857_LOOKUP ( NEW_SHAPE )
INDEXTYPE IS MDSYS.SPATIAL_INDEX
Error report -
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: SRID 3857 does not exist in MDSYS.CS_SRS table
ORA-29400: data cartridge error
Error - OCI_NODATA 
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
29855. 00000 -  "error occurred in the execution of ODCIINDEXCREATE routine"
*Cause:    Failed to successfully execute the ODCIIndexCreate routine.
*Action:   Check to see if the routine has been coded correctly.

我收到以下错误:

WinHTTP Web Proxy Auto-Discovery Service

我搜索了这些错误,但没有找到任何有用的东西。如果您指出正确的方向并帮助确定我所面临的问题,我将非常感激。这将节省我很多时间。非常感谢您的协助。

1 个答案:

答案 0 :(得分:0)

首先,您的数据必须实际为SRID 3857 sdo_geom.srid为表的所有行设置为3857,以便将来处理工作。

现在,由于错误引发,srid在user_sdo_geom_metadata中设置为3857。所以问题是: SRID 3857是否存在于DB的SRID 中? 如果没有,则必须插入它,删除空间索引(通常创建失败的索引)并重新创建它。

如果您需要任何上述任何帮助,请告诉我......