English

Bug: Unable to define a query layer in ArcGIS where the data source uses an st_geometry subtype in Oracle

Description

When attempting to define a query layer in ArcGIS Desktop one can encounter the Oracle error, ORA-21500: internal error code, arguments: [%s],[%s],[%s],[%s],[%s],[%s],[%s],[%s]].

The error is encountered when the table's geometry attribute is st_geometry and is either defined as a subtype (st_point, st_polygon, st_linestring, etc.) or the st_geometry attribute values were created using a subtype constructor (st_point, st_pointfromtext, etc.).

Cause

When ArcGIS accesses the query layer, the binding used in Oracle to fetch the geometry binds an st_geometry type. Because the attribute or values returned from the attribute do not map to st_geometry, the Oracle internal error is encountered.

By definition, a type binding should support its subtype definitions. This limitation is currently a bug within Oracle's server.

Workaround

Convert the geometry attribute field from the subtype (for example, st_point) to the supertype st_geometry.

If the attribute is already st_geometry, convert any geometry values which were created with a subtype to st_geometry, by using the st_geometry constructor.

    Related Information