English

Error: Unable to register a table with an st_geometry attribute and spatial index with the geodatabase

Error Message

When attempting to register a table residing within Oracle using the sdelayer -o register command, the command fails with the following error message:

"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."

Cause

The registration process inspects the table's spatial index for a spatial reference identifier. Since the index exists but there are no indexed values, a SRID cannot be obtained.

Solution or Workaround

To workaround the problem, drop the table's spatial index prior to registering the table with the geodatabase.

Code:
SQL> DROP INDEX parcels_idx;

Index dropped.

Next, register the table with the geodatabase.

Code:
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.