首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle11g中SDO_GEOMETRY列创建空间索引时的错误

Oracle11g中SDO_GEOMETRY列创建空间索引时的错误
EN

Stack Overflow用户
提问于 2017-09-28 11:49:57
回答 1查看 1.7K关注 0票数 0

我使用的是Oracle11g(OracleDatabase11gEnterpriseEdition 11.1.0.7.0-64位生产版),我有一个表,其列类型为SDO_GEOMETRY。我想在这个列上创建一个空间索引(NEW_SHAPE)。我的查询如下:

代码语言:javascript
复制
CREATE INDEX GIS_GEOM_SRID3857_SPTIDX ON GIS_GEOM_SRID3857_LOOKUP ( NEW_SHAPE )
INDEXTYPE IS MDSYS.SPATIAL_INDEX;
/

我得到了以下错误:

代码语言:javascript
复制
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.

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

EN

回答 1

Stack Overflow用户

发布于 2017-09-29 13:45:19

首先,您的数据必须是实际上是SRID 3857 ,对于表的所有行, sdo_geom.srid必须设置为3857,这样以后的处理才能工作。

现在,由于出现错误,在user_sdo_geom_metadata中srid设置为3857。所以问题是:数据库的SRID中是否存在SRID 3857?

如果没有,您必须插入它,删除空间索引(通常会创建失败的索引)并重新创建它。

如果你需要帮助,请告诉我.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46468409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档