c_r_b

TableCompare_management throwing error on 'hidden' native SQL field

Discussion created by c_r_b on Oct 29, 2012
Latest reply on Oct 30, 2012 by c_r_b
I'm attempting to use arcpy.TableCompare_management and am passing tables that have a SHAPE.STLength() field, since we're using SQL Server Native spatial types.  I include 'SHAPE.STLength()' in my "omit fields list", but it throws the error:


omitFields = ["SHAPE_Length", "SHAPE.len", "SHAPE", "OBJECTID", "SHAPE.STLength()", "STLength__"]
arcpy.TableCompare_management(baseTable, testTable, "OBJECTID", "SCHEMA_ONLY", "", "", omitFields, "CONTINUE_COMPARE", "")
ExecuteError: ERROR 000622: Failed to execute (TableCompare). Parameters are not valid.
ERROR 000800: The value is not a member of OBJECTID | AUTOCAD_LAYER | PIPENO | ASSETNUMBER | SHAPE | SHAPE.len | SHAPE.STLength().
ERROR 000800: The value is not a member of OBJECTID | AUTOCAD_LAYER | PIPENO | ASSETNUMBER | SHAPE | SHAPE.len | SHAPE.STLength().
Failed to execute (TableCompare).


If I run TableCompare in ArcCatalog, the field shows up in the list of available fields to omit, and when I do so it works fine.  If I do an arcpy.ListFields on the feature classes, it correctly shows me the SHAPE.STLength() field:

SHAPE.STLength() is a type of Double with a length of 0


Any thoughts on how I can get arcpy.TableCompare_management to work as I need it to?

Outcomes