English

Bug: Previewing a layer in ArcCatalog crashes the gsrvr process when the layer's registration is the wrong entity type

Description

When previewing an ArcSDE feature class in ArcCatalog or displaying the feature class in ArcMap, the gsrvr process crashes if the layer's entity type has been incorrectly defined when registering the data source with ArcSDE.

Cause

Because the entity type definition, which is persisted as an attribute of the layer, is different then the actual geometries in the layer, the gsrvr process crashes when reading the data.

For example, if a table is created in Oracle using SQL with an st_geometry attribute and line geometries inserted, but the table is registered with ArcSDE as a point entity, displaying the data in ArcGIS causes the gsrvr process to crash.

The following example demonstrates creating a table in Oracle's SQL*Plus with a st_geometry attribute, inserting a line feature.

Code:
SQL> CREATE TABLE railroads
2 objectid NUMBER(38) NOT NULL,
3 name VARCHAR2(128),
4 shape sde.st_geometry);

Table created.

SQL> INSERT INTO railroads VALUES
2 (1,'TB Express Rail',
3 sde.st_linestring ('linestring (750 150, 750 750)', 0));

1 row inserted.

The example below demonstrates incorrectly specifying the entity type with the sdelayer -o register command.

Code:
D:\>sdelayer -o register -l railroads,shape -e p -i 5151 -t st_geometry -C objectid,sde

ArcSDE 9.3 for Oracle11g Build 508 Thu Apr 17 12:23:18 2008

Layer Administration Utility
-----------------------------------------------------
Successfully Created Layer.

When displaying the layer in ArcCatalog, the gsrvr process crashes.

Workaround

Alter the registration of the layer using the sdelayer -o alter command and specify the correct entity types with the [-e <entity_mask>] argument.