English

Error: Registering a table with an st_geometry attribute in Oracle fails

Error Message

Registering a table with an st_geometry subtype using the ArcSDE administration 'sdelayer -o register' command fails with a (-53) error.

Code:
D:\> sdelayer -o register -l spatial_view_pt,shape_pt -e p -u tomb -i 5151 -t st_geometry -C objectid,user

ArcSDE 9.2 for Oracle10g Build 508 Thu Apr 17 12:23:18 2008
Layer Administration Utility
-----------------------------------------------------
Error: Invalid column data type (-53).
Error: Cannot Create Layer.

Cause

ArcSDE currently only supports the registration of tables with st_geometry attributes. Tables with st_point, st_linestring, st_polygon, etc. fail to register and return the (-53) error.

Solution or Workaround

To avoid the (-53) error, create all tables with spatial attributes using the st_geometry attribute and not a subtype.

Code:
SQL> CREATE TABLE spatial_objects
2 (objectid NUMBER(38) NOT NULL,
3 shape sde.st_geometry);

Table created.

Perform the registration using the 'sdelayer -o register command'.

Code:
D:\> sdelayer -o register -l spatial_objects,shape -e a -u tomb -i 5151 -t st_geometry -C objectid,user

ArcSDE 9.2 for Oracle10g Build 508 Thu Apr 17 12:23:18 2008
Layer Administration Utility
-----------------------------------------------------
Successfully Created Layer.