Select to view content in your preferred language

Change Data Source but retain field selections and Aliases

03-09-2022 07:53 AM
Labels (1)
Regular Contributor II

I simply can't find a way to do this

As a result of an Oracle 12G>>19C update all our reader passwords have gone uppercase only, so all my layers in MXDs are Red! and need repairing.

That bit is easy.  A single Repair can get them all.

But all our field selections and Aliases get zapped.  And these MXDs are 100+ layers, each with only one or two fields ticked, and those with nice Aliases set.  So a huge amount of work to sort.

Any suggestions?



0 Kudos
5 Replies
MVP Regular Contributor

@AdrianMarsden you can repoint your layers with python by performing a find and replace on the MXD.

Or you could set the data sources in catalog?


Im pretty confident that either approach will preserve your settings on the layers. But always happy to be proven right/wrong


..Maps with no limits..
0 Kudos
Regular Contributor II

Many thanks for mega speedy reply, but I have tried the ArcCat way without much (any) luck

In the last few minutes I have been able to change the source on a PC that points to the old data (so layer still works)  to a new connection, with the uppercase password (old sever took both lower and upper)  I can now paste that layer to a server in the new world - but still layer by layer.

The issue I think that stopped this working before was there were some fields ticked on on the old layer that didn't match EXACTLY in the new database (slight schema change) so ArcMap just zapped everything



0 Kudos
Regular Contributor II

So... that has got me wondering if it was these fields that was breaking the ArCat way - I will investigate tomorrow

0 Kudos
Regular Contributor II

PS - work flow (mainly so I remember to morrow)

  • Remove fully qualified fields from tick list - so those with
  • apply
  • change source
  • Move to fields tab - IMPORTANT
  • Apply
0 Kudos
Regular Contributor II

This is interesting - I think I now see why things may be broken - in my reply to myself I mention unticking fully qualified field names.  I don't have to, just make a SINGLE change before changing data source.  This is what I *think* is happening.

I have a layer, let's call it Planning  it is from an Oracle Enterprise database.  It is related to a Oracle view to get more data (I'm not 100% sure, but my issue may only be an issue when layer has a join)  The MXD was set up a few years ago, most fields unticked, most given aliases.

Over time the suppliers have added new fields to the related table/view.

ArcMap's normal behaviour is to default these new fields 'on' when you look at the fields tab, but I think, until that point, the mxd has no record of them.

Changing ANY field records the new full field list.

Changing a datasource will check the schema of the new source against what is recorded.  If it is the same, it takes the field selections and aliases.

If it is different it will reset them.

So by making a change in the filed list before a datasource change makes the selections/aliases stay put.

That makes sense to me.

Still no use when you move the datasource and no longer have it in place, so important to do before you move data

Does that make sense?


0 Kudos