Solution - Designer / ArcFM - Multiple Oracle SDE Connections After Upgrade to 10.1, and up.

Version 5

    Behavior

     

    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"

     

    ArcFM.PNG

     

    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.

     

    Connection.PNG

     


    Cause

     

    The "sde:oracle$" prefix is due to an ESRI bug (NIM085231). More information can be found in the link below:

    http://support.esri.com/em/knowledgebase/techarticles/detail/40576.

     

    **Update June 26th, 2015**

    The multiple connection behavior, that was caused by NIM085231, has now been documented as Esri BUG-000088670.


    Solution

     

    1. Set a standard for your organization that all users will login into ArcFM using one of these strings only:
      1. tnsname only
      2. sde:oracle$sde:oracle11g:tnsname
      3. EZCONNECT
        • 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")
    2. Swizzle all Stored Displays, Designs, Design XML's, and Sessions to the new standard.

     

    This issue can be seen, and tested, in ArcCatalog here:

    1. Right-click the DB -> Administration -> Administer Geodatabase -> Connections tab.
    2. Start ArcMap -> Login using any of the methods above -> Open a Stored Display / Design / Session
    3. If there is a mismatch in connection string, another connection will be opened in the Connections tab from Step 1