While using ESRI's MultiMXDReport.py tool I noticed that the value returned using lyr.dataSource is wrong in all the MXDs where I manually changed data sources! First off these are 9.3.1 MXDs edited with 9.3.1 ArcGIS Desktop. We moved over to a new server so I went into each MXD and changed layer source through Properties | Source | Set Data Source. We do have 10.0 sp2 on a PC so I decided to generate a report using MultiMXDReport.py to verfity that all layers are pointing to the correct data source. Unfortunately, all the data sources kept their original values making it useless. LAYER: LNGroup Layer Path: Level 10-9 \LNSource: C:\Documents and Settings\xxxxxxxxxx\Application Data\ESRI\ArcCatalog\PHSDev_ManagerAtPHSonDev.sde\PHS.DBO.WDFW_PHSPLUS_LN_SVDataset type: Unknown (could be a broken data source) Query Definition: None Reference each layer in a data frame
lyrList = arcpy.mapping.ListLayers(mxd, "", df)
for lyr in lyrList:
outFile.write("\n")
outFile.write("\t\t LAYER: " + lyr.name + "\n")
outFile.write("\t\t\t Group Layer Path: " + lyr.longName + "\n")
if lyr.supports("dataSource"):
outFile.write("\t\t\t Data Source: " + lyr.dataSource + "\n")
try:
outFile.write("\t\t\t Dataset type: " + arcpy.Describe(lyr.dataSource).datasettype + "\n")
except:
outFile.write("\t\t\t Dataset type: Unknown (could be a broken data source) \n")
else: outFile.write("\t\t\t Data Source: N/A \n")