Error: Attribute column not found[ORA-00904:invalid column name]
When attempting to execute the IDifferenceCursor.Differences method with the esritypeUpdateUpdate constant, it returns the following error:
"Attribute column not found[ORA-00904: invalid column name][<owner>.<table_name>][STATE_ID = <state_id>]"
Field names are not defined in the query filter. The query being executed in the underlying DBMS uses a wild card (*) to select and return all columns/fields. The ArCSDE UpdateUpdate difference filter uses a correlated sub-query in which the the joining column/field must be defined in the upper and lower bounds of the query.
In this case, there is no matching column/field and the query fails to execute, returning the error.
Solution or Workaround
Set the table's row_id field as a subfield in the IQueryFilter.
'Important for the QueryFilter to return the OID
Dim pQueryFilter As IQueryFilter
Set pQueryFilter = New QueryFilter
pQueryFilter.SubFields = pFCParent.OIDFieldName
'Open the difference Cursor
Dim pDiffCursor As IDifferenceCursor
Set pDiffCursor = pVTable.Differences(pFCParent, esriDifferenceTypeUpdateUpdate, pQueryFilter)