During an upgrade, the existing connection string of "sde:oracle11g:[tnsname]" gets changed to include a prefix "sde:oracle$"
- Connection Input: "sde:oracle11g:apollolanding"
- Connection Output: "sde:oracle$sde:oracle11g:apollolanding"
This problem occurs If "sde:oracle11g:" is defined prior to the [tnsname]. A "sde:oracle$" is prefixed to the already existing "sde:oracle11g". These types of connection strings create a difference in the sde connection file (located in the user profile (see below)) versus the connection property in ArcCatalog. This is also the reason why a db source warning is not given, since the connection properties in ArcCatalog are identical.
The "sde:oracle$" prefix is due to an ESRI bug (NIM085231). More information can be found in the link below:
**Update June 26th, 2015**
The multiple connection behavior, that was caused by NIM085231, has now been documented as Esri BUG-000088670.
- Set a standard for your organization that all users will login into ArcFM using one of these strings only:
- tnsname only
- This method is not exempt from the Esri bug, however it does provide consistency since it always creates the same connection string (sde:oracle$sde:oracle11g:"dbserver"/"db")
- Swizzle all Stored Displays, Designs, Design XML's, and Sessions to the new standard.
This issue can be seen, and tested, in ArcCatalog here:
- Right-click the DB -> Administration -> Administer Geodatabase -> Connections tab.
- Start ArcMap -> Login using any of the methods above -> Open a Stored Display / Design / Session
- If there is a mismatch in connection string, another connection will be opened in the Connections tab from Step 1