Changing Data Source Connectivity

12-02-2010 05:59 AM
Status: Already Offered
Labels (1)
Occasional Contributor

Change all data sources for layers in one location to a different one in one go. Currently unless the data source is missing this isn't possible.


A created mxd reads layer information from a local network drive, you need to change the data source to SDE, the feature classes/shapefiles are called exactly the same. Currently you have to reconnect each layer seperately. It would be nice to simply change the first layer and then for a prompt to ask if you want to change all layers in that location to the new one.


i.e. ten layers on a network drive (Location1: X_1, X_2, X_3 etc) need relinking to their SDE equivalent (Location2:  X_1, X_2., X_3 etc) you'd reset X_1 and get a prompt saying 'Do you want to set all Location1 source files to Location2 where the names are the same?' The options could be 'Yes, No, Let me choose'


Possibly there could be a 'Closest match' option to weed out those whose names change slightly for some reason.


It would also be good if there could be a small mark (rather like the red exclamation mark) next to the layer in the TOC to inform you which layers have had their datasources changed in your current session (a green tick maybe?)

Tags (1)
You have this ability at ArcGIS 10 by right-clicking an MXD in ArcCatalog, selecting Set Data Source(s), and using the replace all option. For example if all your layers referece feature classes at C:/Data/Data.gdb, but you want to move all the data to C:/NewData/Data.gdb you can replace all the paths with the new path to the geodatabase. You may also want to look at the functionality available with the arcpy.mapping module for python there are a lot of classes and functions that can help you automate this process as well.
Status changed to: Already Offered

Changing this to Already Offered per ChrisFox's original comment.

For ArcGIS Pro see Update data sources—ArcGIS Pro | Documentation