Bug ID Number |
BUG-000176407 |
Submitted | May 13, 2025 |
Last Modified | June 25, 2025 |
Applies to | ArcGIS Pro |
Version found | 3.4 |
Operating System | Windows OS |
Operating System Version | 11.0 64 bit |
Status | Known Limit
After review by the development team, it has been determined that this issue is related to a known limitation with the software that lies outside of Esri's control. The issue's Additional Information section may contain further explanation.
|
Additional Information
This is a workflow better suited to the Cartographic Information Model (CIM). For example, this will update the data source from geodatabase to feature service and the UI will properly update as well:
aprx = arcpy.mp.ArcGISProject('CURRENT')
m = aprx.listMaps('Map')[0]
lyr = m.listLayers()[0]
c = lyr.getDefinition('V3')
dc = c.featureTable.dataConnection
dc.workspaceConnectionString = "URL=https://services.arcgis.com/Wl7Y1m92PbjtJs5n/arcgis/rest/services/None/FeatureServer"
dc.workspaceFactory = "FeatureService"
dc.dataset = "0"
lyr.setDefinition(c)
Refer to these documentations: https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/updatingandfixingdatasources.htm#:~:text=%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20ConPropsWithJoins(cp)-,Updating%20data%20sources%20using%20the%20CIM,-Starting%20with%20ArcGIS, https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/updatingandfixingdatasources.htm#:~:text=Using%20the%20CIM%20to%20change%20a%20layer%27s%20dataset and https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/python-cim-access.htm for more information.
Workaround
This is a workflow better suited to the Cartographic Information Model (CIM). For example, this will update the data source from geodatabase to feature service and the UI will properly update as well:
aprx = arcpy.mp.ArcGISProject('CURRENT')
m = aprx.listMaps('Map')[0]
lyr = m.listLayers()[0]
c = lyr.getDefinition('V3')
dc = c.featureTable.dataConnection
dc.workspaceConnectionString = "URL=https://services.arcgis.com/Wl7Y1m92PbjtJs5n/arcgis/rest/services/None/FeatureServer"
dc.workspaceFactory = "FeatureService"
dc.dataset = "0"
lyr.setDefinition(c)
Steps to Reproduce