laptop and a wrench

Error

IQueryDef.Evaluate causes an ArcGIS Engine console application to crash when a SQL expression with the 'AS' keyword is assigned to IQueryDef.Subfields to query a feature class in an Oracle 11g multiuser database

Última publicación: March 21, 2019 ArcGIS for Desktop
Número de ID del error BUG-000120448
EnviadoFebruary 28, 2019
Última modificaciónJune 5, 2024
Relacionado conArcGIS for Desktop
Versión encontrada10.2.1
Sistema operativoWindows OS
Versión de sistema operativo2008 R2 64 Bit
EstadoWill Not Be Addressed

Información adicional

The ability to use AS keyword in the SubFields property of a QueryDef is documented as an invalid pattern and is not supported. https://enterprise.arcgis.com/en/sdk/latest/windows/IQueryName_QueryDef.html "//Invalid sub fields //queryDef.SubFields = "max(Parcel.Area) as Max_Area";" and "IQueryDef::Subfields - This must be a comma delimited list of field names or a * to indicate all columns. Column aliases and functions are invalid."

Solución alternativa

Use an alias for IQueryDef.Subfields instead of the original attribute field name. See below for an example (SDE.DynamicProtectiveDevice is replaced with the alias "A")Instead of doing this:
queryDef.SubFields = "SDE.DynamicProtectiveDevice.FEEDERID AS FEEDERID"quesryDef.Tables = "SDE.DynamicProtectiveDevice JOIN SDE.CircuitSource ON SDE.DynamicProtectiveDevice.OBJECTID = SDE.CircuitSource.DYNAMICPROTECTIVEDEVOBJECTID";queryDef.whereClause = "SDE.DynamicProtectiveDevice.ANCILLARYROLE = 1 AND SDE.CircuitSource.DYNAMICPROTECTIVEDEVOBJECTID IS NOT NULL";
Do this:
queryDef.SubFields = "A.FEEDERID AS FEEDERID"quesryDef.Tables = "SDE.DynamicProtectiveDevice AS A JOIN SDE.CircuitSource ON SDE.DynamicProtectiveDevice.OBJECTID = SDE.CircuitSource.DYNAMICPROTECTIVEDEVOBJECTID";queryDef.whereClause = "A.ANCILLARYROLE = 1 AND SDE.CircuitSource.DYNAMICPROTECTIVEDEVOBJECTID IS NOT NULL";
The above modified query works fine on Oracle 11g and Oracle 12c Release 1.

Pasos para reproducir

ID del error: BUG-000120448

Software:

  • ArcGIS for Desktop

Recibir notificaciones cuando cambie el estado de un error

Descargar la aplicación de soporte de Esri

Descubrir más sobre este tema

Obtener ayuda de expertos en ArcGIS

Contactar con el soporte técnico

Descargar la aplicación de soporte de Esri

Ir a opciones de descarga