DebbieBull

layer serviceproperties does not support SQL Server direct connect

Discussion created by DebbieBull on Dec 14, 2011
Latest reply on Sep 23, 2013 by jazmateta
I'm trying to help my users migrate between servers. I would like to be able to determine which server and database a layer is pointing to for its data source.  We have mxds and layer files numbering in the thousands.

I tried this piece of code from the Help:
                    if lyr.serviceProperties["ServiceType"] != "SDE":
                        print "Service Type: " + servProp.get('ServiceType', 'N/A')
                        print "    URL:         " + servProp.get('URL', 'N/A')
                        print "    Connection:  " + servProp.get('Connection', 'N/A')
                        print "    Server:      " + servProp.get('Server', 'N/A')
                        print "    Cache:       " + str(servProp.get('Cache', 'N/A'))
                        print "    User Name:   " + servProp.get('UserName', 'N/A')
                        print "    Password:    " + servProp.get('Password', 'N/A')
                        print ""
                    else:
                        print "Service Type: " + servProp.get('ServiceType', 'N/A')
                        print "    Database:       " + servProp.get('Database', 'N/A')
                        print "    Server:         " + servProp.get('Server', 'N/A')
                        print "    Service:        " + servProp.get('Instance', 'N/A')
                        print "    Version:        " + servProp.get('Version', 'N/A')
                        print "    User name:      " + servProp.get('UserName', 'N/A')
                        print "    Authentication: " + servProp.get('AuthenticationMode', 'N/A')
                        print ""

Returns:

    Database:       maint
    Server:         KCGIS-AGS10
    Service:        N/A
    Version:        sde.DEFAULT
    User name:      BULLD
    Authentication: OSA

For my ArcSDE sourced layers, it returns the name of the ArcMap host for the "Server" property, and "N/A" for the "Service" property even though the layer uses a direct connect sde:sqlserver:gisprod.  The workspacePath property of the layer is not reliable because connection files can be named <ANYTHING>.sde and we have at least a dozen ArcSDE servers in the enterprise.

Outcomes