Error: 无法将一个含有st_geometry类型字段及空间索引的表注册到geodatabase中

文章编号 : 35451
软件: ArcSDE 9.2, 9.3, 9.3.1
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

错误信息:
当使用sdelayer -o register命令将Oracle中的一个表注册到geodatabase中时,命令失败并返回下述错误信息:
"D:\>sdelayer -o register -l parcels,shape -e p -u tb -p tb -i 5151 -t st_geometry -C oid,sde
ArcSDE 9.3 for Oracle10g Build 156 Mon Aug 25 12:00:37 2008 Layer Administration Utility ----------------------------------------------------- Error: Underlying DBMS error (-51). Error: Cannot Create Layer. Column index already exists Failure to register ST_Geometry layer (TOMB.PARCELS). Cannot register an empty table with an existing spatial index."
原因:
注册命令试图从表的空间索引中找出相关的空间引用标识,虽然空间索引存在,但是由于其中没有索引数据,所以无法获得一个有效的SRID值。

解决方法:
要解决这个问题,需要在将表注册到geodatabase之前删除其空间索引,如下所示: 首先: SQL> DROP INDEX parcels_idx; Index dropped. 然后,将表注册到geodatabase中 D:\>sdelayer -o register -l parcels,shape -e p -u tb -p tb -i 5151 -t st_geometry -C oid,sde ArcSDE 9.3 for Oracle10g Build 156 Mon Aug 25 12:00:37 2008 Layer Administration Utility ----------------------------------------------------- Successfully Created Layer.


创建时间:2008-09-03
最近更新: 2011-05-03


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册