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, Amazon Relational Database Service (RDS) for SQL Server, Amazon Aurora PostgreSQL, Amazon RDS for PostgreSQL, Amazon RDS for Oracle, and Microsoft Azure Database for PostgreSQL.
Before you run this tool on Amazon Aurora PostgreSQL, Amazon RDS for PostgreSQL, or Microsoft Azure Database for PostgreSQL, you must enable PostGIS in the database. See Amazon Web Services documentation and Microsoft Azure documentation for instructions.
Before you run this tool on Amazon RDS for Oracle, you must enable Oracle Spatial in the database.
You can use this tool to create a geodatabase in SAP HANA Cloud. The ArcGIS client from which you run this tool should be as geographically close as possible to the SAP HANA Cloud region where your database service exists.
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, Oracle, PostgreSQL, or SAP HANA 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.
Note:
Beginning with ArcGIS 10.7 and ArcGIS Pro 2.3, you cannot create user-schema geodatabases in Oracle.
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 must have specific privileges. See the topic appropriate to your database for information on the 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. Changing the database name using database tools makes your geodatabase data inaccessible.
Syntax
arcpy.management.EnableEnterpriseGeodatabase(input_database, authorization_file)
Parameter | Explanation | Data Type |
input_database | 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. 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
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")
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