Problem: The Calculate Field tool does not populate fields when used in a geoprocessing service
Description
Note: This article applies to retired ArcGIS versions 9.x. Later versions of ArcGIS may contain different functionality, as well as different names and locations for menus, commands and geoprocessing tools.
The Calculate Field tool is part of a model published as a geoprocessing service. The model works correctly prior to publishing the toolbox to ArcGIS Server. If ArcMap is not installed on the same machine as ArcGIS Server, the geoprocessing messages state that the tool executed successfully, but the field is not correctly calculated.
This behavior occurs with both ArcGIS Server for the .NET Framework and ArcGIS Server for the Java Framework.
In a new field that is meant to be populated by the Calculate Field tool, the problem manifests itself by returning blank values.
Cause
The Expression parameter for the Calculate Field tool uses a VB expression by default, but ArcGIS Server does not include the VB libraries required to execute this function.
Solution or Workaround
Change the Expression Type parameter for the Calculate Field tool to PYTHON_9.3.
The expression type must be Python when running Calculate Field with ArcGIS Engine or ArcGIS Server. Visual Basic for Applications (VBA) is required for many types of VB expressions, and VBA is only available when Calculate Field is run by ArcGIS Desktop. Only use Python as the expression type whenever the tool is included in a model that is published to ArcGIS Server.
Related Information
Last Published: 1/31/2023
Article ID: 000010594
Software: and prior) 9.3.1, 9.3, 9.2, 10 ArcGIS GIS Server (10.0 ArcGIS Server 11, 10.9.1, 10.9, 10.8.1, 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2, 10.1, 10