ArcSDE Oracle feature class - change column from non-nullable to nullable

568
3
02-12-2014 12:51 PM
markcheyne
Occasional Contributor
I used TOAD to change a feature class column from non-nullable to nullable. And I added a trigger to populate a default value. ArcCatalog still shows the column as non-nullable. So does the ArcGIS Server Services Directory for a feature service published on this layer. And they seem unaware of the trigger -  So I still can't insert features with a null value for this column.

Secret sauce, anyone?
0 Kudos
3 Replies
VinceAngelo
Esri Esteemed Contributor
If you go behind ArcGIS' back to make updates, the geodatabase metadata is
corrupted.  In this case, both GDB and SDE metadata are now incorrect.

Is the feature class versioned?  If so, did you apply the same changes to
the adds table?  Does it have archiving enabled?  If so, did you change
the history table?

Have you tried connecting with 'sdetable -o describe' as the table owner?

Clearing the XML of the geodatabase is less pleasant than the column_registry
metadata.

- V
0 Kudos
markcheyne
Occasional Contributor
thanks for the feedback. note to self, use the SDE command line.

SDETABLE reflects the same info as TOAD. ArcGIS still says different.

I used SDETABLE -o alter_column to make this nullability change to a second feature class. That didn't work any better. As before, the change isn't visible to ArcGIS - ArcCatalog still shows it as not-nullable.

Is there a way to make this sort of change to a feature class such that ArcGIS sees the change, or some way to cause the GDB system tables, such as COLUMN_REGISTRY.OBJECT_FLAGS to refresh or repair?

The alternative seems to be to add a new column, copy over the data from the old column. Seems heavy-handed.
0 Kudos
markcheyne
Occasional Contributor
In the end, I used the ArcToolbox tool �??Assign Default to Field�?? to give this column a default value. At least now we can insert rows without assigning a value.

gotta love it!
0 Kudos