<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Updating Data Source Path in Layers not updating in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132995#M10347</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think you have one tiny thing wrong with the script, it's this line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; mxd2.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Change this line to: &lt;/SPAN&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; mxd.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Remember you are still working on the mxd variable and there is no mxd2 in what you have setup here. I think this is the problem. I found this out by taking it out the Try/Except. That's the only bad part about Try/Except, you miss out on those exception messages. You may want to add the getmessage there to help future troubleshooting. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once I fixed that line, I had no problem running your script through the Try/Except and getting it to work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope that helps! :cool:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 26 Sep 2011 19:11:34 GMT</pubDate>
    <dc:creator>StephanieWendel</dc:creator>
    <dc:date>2011-09-26T19:11:34Z</dc:date>
    <item>
      <title>Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132993#M10345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to replace the workspace path or datasource path in a number of mxd's. I am not sure which one is supposed to work for my scenario. The layers in my map that I want to change, all have the same workspace:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Z:\ESRI\Templates\IOR_2010\TemplateFiles\TemplateFiles.gdb&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Each layer is sourced to a feature class within that directory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to resource to a new workspace:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Z:\Site\Sitename\D01_IF.gdb&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The names of the feature classes are different in each gdb, but they contain the same data and structure. (ie The "SOILS" feature class in the old gbd is now named "SOILS_IF" in the new gbd.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So in other words, I want to change the datasource from:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Z:\ESRI\Templates\IOR_2010\TemplateFiles\TemplateFiles.gdb\SOILS&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;to:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Z:\Site\Sitename\D01_IF.gdb\SOILS_IF&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been through the help menu for "Updating and fixing data sources" The scenario it gives for the lyr.replaceDataSource syntax, explains that you can change the source from a feature class that has been renamed in the same file gdb, but none of the scenarios offer a solution to resourcing to a new gdb with a feature class of a different name. I thought my code below would have done that, but it does not change the data source. It doesn't spit out an error message either. Can anyone suggest an issue with my code?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mike&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
folderPath = r"Z:\ESRI\Figure_Sourcing\Figures\MapSourcingTest"
try:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for filename in glob.glob(os.path.join(folderPath, "*.mxd")):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fullpath = os.path.join(folderPath, filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print "Editing", filename
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = arcpy.mapping.MapDocument(filename)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in arcpy.mapping.ListLayers(mxd):

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == "Soil Map Unit":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.dataSource + "&amp;nbsp; Datesource"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.replaceDataSource(r"Z:\Site\Sitename\D01_IF.gdb", "FILEGDB_WORKSPACE", r"SOILS_IF")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd2.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")
&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Sep 2011 18:14:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132993#M10345</guid>
      <dc:creator>MikeMacRae</dc:creator>
      <dc:date>2011-09-26T18:14:04Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132994#M10346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The problem may be that your not specifying the data frame.&amp;nbsp; Try the following below.&amp;nbsp; It will replace all feature classes within an MXD with its corresponding feature class in the other file geodatabase.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy, os, glob
from arcpy import mapping
folderPath = r"Z:\ESRI\Templates\IOR_2010\TemplateFiles\TemplateFiles.gdb\SOILS"

env.overwriteOutput = True

for filename in glob.glob(os.path.join(folderPath, "*.mxd")):
&amp;nbsp;&amp;nbsp;&amp;nbsp; fullpath = os.path.join(folderPath, filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = mapping.MapDocument(filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for df in mapping.ListDataFrames(mxd, "*"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in mapping.ListLayers(mxd, "*", df):&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_name = lyr.name + "_IF"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.replaceDataSource(r"Z:\Site\Sitename\D01_IF.gdb\SOILS_IF", "FILEGDB_WORKSPACE", new_name)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except ValueError:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully updated layer"
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")
del mxd&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:27:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132994#M10346</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-11T07:27:41Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132995#M10347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think you have one tiny thing wrong with the script, it's this line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; mxd2.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Change this line to: &lt;/SPAN&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; mxd.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Remember you are still working on the mxd variable and there is no mxd2 in what you have setup here. I think this is the problem. I found this out by taking it out the Try/Except. That's the only bad part about Try/Except, you miss out on those exception messages. You may want to add the getmessage there to help future troubleshooting. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once I fixed that line, I had no problem running your script through the Try/Except and getting it to work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope that helps! :cool:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Sep 2011 19:11:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132995#M10347</guid>
      <dc:creator>StephanieWendel</dc:creator>
      <dc:date>2011-09-26T19:11:34Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132996#M10348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey Stephanie,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the suggestion. I was actually using the variable mxd2 in my original script. When i copied it over to post on here, I edited that to be mxd for display purposes. Looks like I forgot to change that one. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jake, I ran your script on my mxd and it still isn't changing the datasource. I set some print messages to give me the datasource before the replace method and then to print it out afterwards and it remains the same. I checked the map itself, and it hasn't changed there either.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I noticed you set folderPath to the original datasource. This should be a directory to the mxd's to which I want to interate through, so I believe my original folderPath is correct. Did you mean to set a workspace instead? Would this be useful?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mike&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Sep 2011 19:28:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132996#M10348</guid>
      <dc:creator>MikeMacRae</dc:creator>
      <dc:date>2011-09-27T19:28:14Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132997#M10349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry, that was a copy/paste error on my end.&amp;nbsp; Here is what it should be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy, os, glob
from arcpy import mapping
folderPath = &lt;STRONG&gt;r"Z:\ESRI\Figure_Sourcing\Figures\MapSourcingTest"&lt;/STRONG&gt;

env.overwriteOutput = True

for filename in glob.glob(os.path.join(folderPath, "*.mxd")):
&amp;nbsp;&amp;nbsp;&amp;nbsp; fullpath = os.path.join(folderPath, filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = mapping.MapDocument(filename)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for df in mapping.ListDataFrames(mxd, "*"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in mapping.ListLayers(mxd, "*", df):&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new_name = lyr.name + "_IF"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.replaceDataSource(&lt;STRONG&gt;r"Z:\Site\Sitename\D01_IF.gdb"&lt;/STRONG&gt;, "FILEGDB_WORKSPACE", new_name)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except ValueError:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully updated layer"
&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.saveACopy(r"Z:\ESRI\Figure_Sourcing\Figures\TestFigs\IOR\MapSourcingTest\Test2.mxd")
del mxd&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:27:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132997#M10349</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-11T07:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132998#M10350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey there,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't had time to get back to this, but now I've been testing again. This function does not seem to work, no matter which way i approach it. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I set up a blank .mxd and added a polygon feature class called "Line" and then saved it as Test2.mxd. I used the lyr.replaceDataSource method to replace the line FC to another FC in the same .gdb called "Line_1". I set print messages before and after the update to show the original datasource and then to print the new datasource. The print messages indicate that the update was successful (see print mssage result below), but when I open the map and open the layer properties, under the Source tab, the datasource has not changed. It is still the original path. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anyone had issues with this? Does this method work the way I think it does? Am I doing something wrong?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mike&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
mxd = arcpy.mapping.MapDocument(r"C:\GIS\Test2.mxd")
for df in arcpy.mapping.ListDataFrames(mxd, "*"):
&amp;nbsp;&amp;nbsp;&amp;nbsp; #print df.name
&amp;nbsp;&amp;nbsp;&amp;nbsp; for lyr in arcpy.mapping.ListLayers(mxd, "*", df):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print lyr.name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.supports("DATASOURCE"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print lyr.dataSource
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.dataSource == "C:\\GIS\\Test1.gdb\\Line":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.dataSource #Print message to show the original datasource
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.replaceDataSource("C:\\GIS\\Test1.gdb", "FILEGDB_WORKSPACE", "Line_1")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print lyr.dataSource #Print message to show that the datasource has been replaced.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
mxd.save()
del mxd
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here are my print messages:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BR /&gt;Line&lt;BR /&gt;C:\GIS\Test1.gdb\Line&lt;BR /&gt;C:\GIS\Test1.gdb\Line_1&lt;BR /&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:27:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132998#M10350</guid>
      <dc:creator>MikeMacRae</dc:creator>
      <dc:date>2021-12-11T07:27:45Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132999#M10351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Mike,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could not reproduce this behavior.&amp;nbsp; Try closing ArcMap, execute your script, and then re-open ArcMap and check the layer properties within the Test2.mxd.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2011 10:56:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/132999#M10351</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2011-11-28T10:56:46Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133000#M10352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for responding Jake. I've done that many times and the path still hasn't changed. I've also tried it on multiple computers and I keep coming up with the same result. I've contacted ESRI and they say that they cannot reproduce the issue either, so I'm at a wall with this one...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2011 18:06:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133000#M10352</guid>
      <dc:creator>MikeMacRae</dc:creator>
      <dc:date>2011-11-28T18:06:28Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133001#M10353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Instead of using mxd.save, try saving a copy using mxd.saveACopy.&amp;nbsp; Maybe this could be some sort of write permissions error.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2011 18:58:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133001#M10353</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2011-11-28T18:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: Updating Data Source Path in Layers not updating</title>
      <link>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133002#M10354</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hey Jake, thanks for your suggestions. I spent a couple weeks troubleshooting this issue and I finally discovered that a third party extension was causing the issue. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have Xtools Pro installed on my computer. When they first released the version for ArcGIS 10, it was filled with bugs, but they released a new version that was supposed to fix these bugs. Apparently they didn't catch all of them, because I decided to uninstall the extension again and ran my script immediately afterwards and it now works perfectly. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think I'm going to stay away from Xtools for a while as it has caused a lot of issues or me in the past.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Mike&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Dec 2011 16:24:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/updating-data-source-path-in-layers-not-updating/m-p/133002#M10354</guid>
      <dc:creator>MikeMacRae</dc:creator>
      <dc:date>2011-12-15T16:24:14Z</dc:date>
    </item>
  </channel>
</rss>

