English

FAQ: Why did the values of the objectid field change when I used shp2sde -o create to import a shapefile to a geodatabase feature class?

Question

Why did the values of the objectid field change when I used shp2sde -o create to import a shapefile to a geodatabase feature class?

Answer

The -C option of the shp2sde command is used to specify the name of the row ID column of the feature class, how the row ID values are maintained, by SDE or by the USER, and what the lowest row ID number is.

In versions of ArcSDE geodatabases prior to 9.2, if not using the -C option of the shp2sde command to specify a row ID column and type, shp2sde automatically searches for an existing column in the shapefile named objectid, row_id, or se_row_id and uses that column for the row ID. It also sets the column to be maintained by SDE and the minimum ID to 1.

Additionally, when shp2sde changes the existing column to SDE-maintained and sets the minimum id to 1, the column is given new values starting from 1, overwriting the original values.

Note:
Beginning with ArcSDE 9.2 geodatabases, the shp2sde command no longer functions this way. Consult the ArcSDE administration command reference for details on how shp2sde behaves in 9.2 geodatabases.