Summary
Creates geodatabase system tables, stored procedures, functions, and types in an existing database, thereby enabling geodatabase functionality in the database.
Usage
You must have ArcGIS Desktop (Desktop Standard or Desktop Advanced), ArcGIS Engine Geodatabase Update, or ArcGIS Server installed on the computer from which you connect to the database and enable geodatabase functionality.
You can use this tool to create a geodatabase in the following database cloud service offerings provided your ArcGIS software is running in the same cloud platform and region as the database service: Microsoft Azure SQL Database (single instance) and Amazon Relational Database Service (RDS) for SQL Server.
The database connection file you provide to the tool must connect as a user who qualifies as a geodatabase administrator. Connect as the sde user to create a geodatabase in an IBM Db2, IBM Informix, Oracle, or PostgreSQL database. For Microsoft SQL Server, you can connect as a user named sde to create an sde-schema geodatabase or as a user who is dbo in the SQL Server instance to create a geodatabase in the dbo schema in the database.
If you connect to a SQL Server database, the SQL Server instance must use a case-insensitive collation. The database must also have READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_ISOLATION set to ON.
The user who creates the geodatabase requires specific privileges. See the topic appropriate to your database for information on required privileges to create a geodatabase:
You must configure the st_geometry library before you can enable geodatabase functionality in Oracle. See Create a geodatabase in Oracle for details.
You must place the st_geometry library in the PostgreSQL lib directory on the PostgreSQL server before you can enable geodatabase functionality in PostgreSQL. See Create a geodatabase in PostgreSQL on Linux or Create a geodatabase in PostgreSQL on Windows for details.
Once the geodatabase is created, you cannot rename the database in which it is stored. The database name is stored in geodatabase system tables and is used to fully qualify table and feature class names; therefore, changing the database name using database tools makes your geodatabase data inaccessible.
Syntax
EnableEnterpriseGeodatabase(input_database, authorization_file)
Parameter | Explanation | Data Type |
input_database | Provide the path and connection file name for the database in which you want to enable geodatabase functionality. You must connect as a user that qualifies as a geodatabase administrator. | Workspace |
authorization_file | The path and file name of the keycodes file that was created when ArcGIS Server was authorized. This file is in the \\Program Files\ESRI\License<release#>\sysgen folder on Windows or the /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen directory on Linux. If you have not already done so, authorize ArcGIS Server to create this file. You will likely need to copy the keycodes file from the ArcGIS Server machine to a location accessible to the tool. | File |
Derived Output
Name | Explanation | Data Type |
out_workspace | The enabled enterprise geodatabase. | Workspace |
Code sample
EnableEnterpriseGeodatabase example 1 (stand-alone script)
This script uses an existing database connection file (my_db_connection.sde) located in the default ArcCatalog database connection location to enable geodatabase functionality with a keycodes file on a remote server.
import arcpy
arcpy.EnableEnterpriseGeodatabase_management(
"Database Connections\my_db_connection.sde",
"//myagsserver/Program Files/ESRI/License/sysgen/keycodes")
EnableEnterpriseGeodatabase example 2 (stand-alone script)
This script uses an existing database connection file (database1.sde) in a user-defined location to enable geodatabase functionality with a keycodes file in a user-defined location on the local computer.
import arcpy
arcpy.EnableEnterpriseGeodatabase_management("C:\myconnections\database1.sde",
"C:\authfiles\keycodes")
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes