Workspace properties


The Describe function returns the following properties for Workspace.

A workspace returns a dataType of "Workspace".


プロパティ説明データ タイプ

connectionProperties is a property set. The connection properties for an enterprise geodatabase workspace will vary depending on the type of enterprise database being used. Possible properties include the following:

  • authentication_mode—Credential authentication mode of the connection, either OSA or DBMS.
  • database—Database connected to.
  • historical_name—The historical marker name of the historical version connected to.
  • historical_timestamp—A date time that represents a moment timestamp in the historical version connected to.
  • is_geodatabase—String. Returns true if the database has been enabled to support a geodatabase; otherwise, it's false.
  • instance—Instance connected to.
  • server—Enterprise server name connected to.
  • user—Connected user.
  • version—The transaction version name of the transactional version connected to.
  • branch—The branch version name of the branch version connected to.

Only one of historical_name, historical_timestamp, version, or branch exists for any given workspace.


The connection string being used in conjunction with the enterprise database type. For any other workspace type, returns an empty string.


For a geodatabase workspace, returns True if the geodatabase's version is current. currentRelease can be used to assess if the geodatabase can be upgraded.


A list containing the geodatabase domain names. To work with these domain names, you can use tools from the Domains toolset.


For a geodatabase workspace, returns the geodatabase release value. Below is the mapping of geodatabase release values to ArcGIS version numbers.

Geodatabase release valueArcGIS version




9.3, 9.3.1


10.0 - 10.8.1

ArcGIS Pro 1.0 - ArcGIS Pro 2.7


The ID is a string. You can use this to distinguish between specific workspace types with a finer granularity than you can with workspaceType. For example, workspaceFactoryProgID can distinguish between a file geodatabase and a personal geodatabase. Using workspaceType, you cannot make that distinction.

Following are workspaceFactoryProgID strings returned for the common workspace types:

  • esriDataSourcesGDB.AccessWorkspaceFactory.1Personal geodatabase
  • esriDataSourcesGDB.ColumnaDBWorkspaceFactory.1Memory workspace
  • esriDataSourcesGDB.FileGDBWorkspaceFactory.1File geodatabase
  • esriDataSourcesGDB.InMemoryWorkspaceFactory.1In-memory workspace
  • esriDataSourcesGDB.SdeWorkspaceFactory.1Enterprise geodatabase
  • (empty string)Other (shapefile, coverage, CAD, VPF, and so on)

The .1 following the string returned by workspaceFactoryProgID is only present in 64-bit products. If writing code that will be used against 32-bit and 64-bit products, use the string method startswith.

describe = arcpy.Describe(data)
# not - if describe.workspaceFactoryProgID == 'esriDataSourcesGDB.FileGDBWorkspaceFactory.1'
if describe.workspaceFactoryProgID.startswith('esriDataSourcesGDB.FileGDBWorkspaceFactory'):
    continue  #

The workspace type.

  • FileSystemFile-based (coverage, shapefile, and so forth) workspaces and in-memory workspaces
  • LocalDatabaseGeodatabases that are local (a file or personal geodatabase)
  • RemoteDatabaseGeodatabases that require a remote connection (enterprise, OLE DB, and so forth)


Workspace properties example (stand-alone script)

The following stand-alone script displays some workspace properties for an enterprise database.

import arcpy

# Create a Describe object for an SDE database
desc = arcpy.Describe(r"C:data\Connection to state.sde")

# Print workspace properties
print("%-24s %s" % ("Connection String:", desc.connectionString))
print("%-24s %s" % ("WorkspaceFactoryProgID:", desc.workspaceFactoryProgID))
print("%-24s %s" % ("Workspace Type:", desc.workspaceType))

# Print Connection properties
cp = desc.connectionProperties
print("\nDatabase Connection Properties:")
print("%-12s %s" % ("  Server:", cp.server))
print("%-12s %s" % ("  Instance:", cp.instance))
print("%-12s %s" % ("  Database:", cp.database))
print("%-12s %s" % ("  User:", cp.user))
print("%-12s %s" % ("  Version:", cp.version))

# Print workspace domain names"
domains =
for domain in domains:
    print("\t" + domain)