ERROR

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

Last Published: April 25, 2020

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.

    Article ID:000010267

    Software:
    • Legacy Products

    Receive notifications and find solutions for new or common issues

    Get summarized answers and video solutions from our new AI chatbot.

    Download the Esri Support App

    Discover more on this topic

    Get help from ArcGIS experts

    Contact technical support

    Download the Esri Support App

    Go to download options