Select to view content in your preferred language

Use ArcPy to Determine Underlying Database

08-28-2014 10:06 AM
Status: Implemented
Labels (2)
Esri Regular Contributor
It would be nice if the arcpy Describe function would return the database name you are connected to.  

For example:
>>> print arcpy.Describe(r"c:\temp\scratch.gdb").databaseName
File Geodatabase
>>> print arcpy.Describe(r"c:\temp\someconnection.sde").databaseName
>>> print arcpy.Describe(r"c:\temp\someconnection.sde").databaseName


This would really help in developing the slight SQL differences between databases in handling of specific datatypes.

Thank you


For your examples you could craft a routine to tell you this information
anything ending in a gdb will be file geodatabase
do a describe on a sde connection and look at the instance will tell you that database it is based on the connection string  e.g.

  • sde:sqlserver:svr-gis-01  is SQL server
  • sde:oracle11g:GISDATA  is Oracle 11g 
desc = arcpy.Describe(Database Connections\Localhost SQL.sde)
cp = desc.connectionProperties
print cp.instance
> sde:sqlserver:svr-gis-01

The only issue I see are the old style SDE connection where the instance will be a port number.

Status changed to: In Product Plan

We're working on this!  This status does not guarantee that the functionality will be in the next release, but development work has begun. Release cycles vary by product so make sure to check the product life cycle information to get an idea of when to expect the next release.  

Status changed to: Implemented

This is implemented in ArcGIS Pro 3.3. See Your Ideas in ArcGIS Pro 3.3 for a full list of all user ideas you can look forward to! And be sure to check out the release blog and what’s new help topic and video to learn more about all the new features and functionality in the release.