Users connected to data in database, but no db connection exists in Catalog.....how?

306
2
05-03-2018 01:39 PM
Highlighted
Occasional Contributor

Having a bit of a connundrum....new job, just sent folks through an upgrade from 10.3.1 to 10.5. Prior to upgrading, I would review user's connections (database and folder) in case I had to remap their locations. What I found on numerous occasions was that the users were able to view data from our RDBMS, but when I go to look in Catalog, there is no database connection established (see attached image).

I have looked in:

When you read the data source it simply and properly states the Production database. I just cannot tell where the data is coming from. In addition, when I use the Set Data Source option in ArcCatalog for the .mxd it reads C:\Users\<user>AppData\Roaming\ESRI\Desktop10.2\ArcCatalog\Connection to <db>.sql but this location doesn't even exist and it was from a completely different users profile that had never been logged onto that machine.

From what I understand, the one person created an .mxd and copeid it to multiple machines. I just don't know how the're able to access the data in the RDBMS if they don't have ANY connections defined at all.

Any help would be much appreciated. I know I can add the db and change their data sources, but I'd also like to do some clean up and understand what is going on. I feel like I am missing something big and obvious here, or maybe not?

Reply
0 Kudos
2 Replies
Highlighted
MVP Regular Contributor

SDE credentials in MXD files 

SDE connection properties are embedded in the MXD, which means a user's credentials are also embedded in the MXD if the "Save user name and password" box is checked.  This assume the Authentication Type is set to "Database Authentication."  I can't recall user names, but passwords are encrypted when they are embedded.  I can't speak to the quality of the encryption.

 

If authentication is set to "Operating System Authentication," then a specific user's credentials are not embedded. Instead, a flag of sorts is set that tells ArcGIS Desktop to use the credentials of the user currently opening the MXD and not the user that originally created the connection.

 

There used to be a time, around ArcGIS 10.0 and before, where an SDE connection file would be referenced instead of embedding the SDE connection properties.  If SDE connections were made via UNC path, the connection files on disk was referenced in the MXD.  If SDE connections were made via drive letters, the connection properties would be embedded.  It was around for many versions, I thought it was a design choice, and I used it to simplify updating SDE connection properties.  At some point, it got called a bug and Esri changed the behavior.  Fortunately, we are enough versions away from ArcGIS 10.0 that it isn't as common to run into MXDs with the older referenced SDE connection files instead of embedded properties.

Joshua Bixby Champion@ Mark Binder on Jan 27, 2015 7:28 AM

No.  Opening an MXD where someone has created an SDE connection does not create a new SDE connection file on your system.  The connection properties are embedded, and ArcGIS Desktop works with them that way.  It does not have to create a new SDE connection file to make the connection to SDE.  Since a new connection file isn't created, your second question is moot.

Highlighted
Occasional Contributor

I feel silly, you're right, that did help. I've been using OSA for so long, I forgot how DA worked - threw me for a quick loop. Went and tested some more and it all makes perfect sense now.

Thanks for responding.

~Michelle