Problem: Using objects with ArcSDE XML columns in ArcGIS Desktop


When attempting to view in ArcGIS 9 the contents or properties of an ArcSDE 9 object, such as a feature class or table, that has an XML column using a database connection the message occurs:

"Error opening feature class. Invalid column data type"

For example, this occurs when attempting to preview the contents of the feature class associated with an ArcIMS 9 Metadata Service.


ArcSDE XML columns are not supported by the geodatabase with ArcGIS 9. If the geodatabase does not support a column's data type the object cannot be used in ArcGIS, including previewing the data stored in that object in ArcCatalog.

With ArcIMS 9, documents published to a Metadata Service are stored in an ArcSDE XML column. This column resides in the feature class associated with a Metadata Service.

Solution or Workaround

Create a view of the object in ArcSDE that excludes the XML column. The view can include any other columns of interest. For example, if the view includes a Geometry column it appears as a feature class in ArcCatalog and its features can be previewed. To create a view in ArcSDE, use the sdetable command with the create_view option at the operating system's command line.

For example, to see the contents of the feature class associated with an ArcIMS 9 Metadata Service, use the following command:

sdetable -o create_view -T <tablePrefix>_v -t <tablePrefix> -c docid,docuuid,datasetname,owner,updatedate,onlink,server,service,servicetype,footprint -i <sdeInstance> -s <sdeServer> -D <sdeDatabase> -u <username> -p <password>

where <tablePrefix> is the prefix defined in the TABLE_NAME element in the Metadata Service's configuration file (.axl). If the table prefix is 'IMSMETADATA', the feature class associated with the service should also be named 'IMSMETADATA' and the command above creates a view named 'IMSMETADATA_v'. Provide the appropriate ArcSDE connection information for the remaining arguments. The username and password should be the same as the username and password specified in the Metadata Service's configuration file.

To delete the object on which a view is based at a later time, delete the view first, particularly when using Oracle. Otherwise, the feature class or table may not be properly deleted from the database and problems may occur in the future. For example, a new ArcIMS Metadata Service may not be created using the same configuration file without changing the table prefix.