Crear geodatabase corporativa (Administración de datos)

Resumen

Crea una base de datos, ubicaciones de almacenamiento y un usuario de bases de datos para que actúe como administrador y propietario de la geodatabase. La funcionalidad varía según el sistema de administración de bases de datos que se utilice. La herramienta concede al administrador de geodatabase los privilegios necesarios para crear una geodatabase y, a continuación, crea una geodatabase en la base de datos.

Uso

  • La siguiente tabla indica la funcionalidad de la herramienta para cada tipo de sistema de administración de bases de datos:

    FunciónBase de datos

    Crea una base de datos

    PostgreSQL y Microsoft SQL Server

    Crea un espacio de tabla

    Oracle

    Crea un usuario administrador de geodatabase en la base de datos

    Oracle, PostgreSQL y SQL Server

    La herramienta solo crea un usuario en SQL Server si crea una geodatabase de esquema sde.

    Otorga al administrador de geodatabase los privilegios requeridos para crear una geodatabase, actualizar una geodatabase y eliminar conexiones de base de datos

    Oracle y PostgreSQL

    Otorga al administrador de geodatabase los privilegios necesarios para crear una geodatabase y eliminar conexiones de base de datos

    SQL Server (si está creando una geodatabase de esquema sde)

    Otorga al administrador de geodatabase los permisos necesarios para importar datos utilizando Oracle Data Pump

    Oracle

    Crea una geodatabase en la base de datos específica

    Oracle, PostgreSQL y SQL Server

  • Debe tener ArcGIS Desktop (Standard o Advanced), ArcGIS Pro (Standard o Advanced) o ArcGIS Server instalado en el equipo en el que creará la geodatabase. Si utiliza Oracle o SQL Server, también debe instalar y configurar un cliente de sistema de administración de bases de datos en el equipo donde está instalado el cliente ArcGIS.

  • Para crear una geodatabase en Oracle, debe descargar el archivo DatabaseSupport.zip (Windows) o DatabaseSupport.tar (Linux) desde My Esri para obtener la biblioteca st_shapelib (Windows) o libst_shapelib (Linux). Coloque la biblioteca en el servidor de Oracle. Asegúrese de copiar la biblioteca correcta para el sistema operativo donde está instalado Oracle.

  • Debe hacer que un tipo espacial esté disponible para el clúster de base de datos de PostgreSQL antes de crear una geodatabase. Para usar el tipo ST_Geometry, debe descargar el archivo DatabaseSupport.zip (Windows) o DatabaseSupport.tar (Linux) desde My Esri para obtener la biblioteca st_geometry. Coloque la biblioteca en el directorio %PostgreSQL%\lib (Windows) o $PKGLIBDIR (Linux) en el servidor de PostgreSQL. Asegúrese de copiar la biblioteca correcta para la versión de PostgreSQL que esté utilizando y para el sistema operativo donde esté instalado PostgreSQL. Para usar un tipo espacial PostGIS, debe instalar PostGIS en el clúster de base de datos de PostgreSQL.

  • Esta herramienta no es compatible con servicios de base de datos.

  • Una vez que se ha creado la geodatabase en PostgreSQL o Oracle, no se puede cambiar el nombre de la base de datos en la que está almacenada. El nombre de la base de datos está almacenado en las tablas del sistema de geodatabase y se utiliza para cualificar totalmente los nombres de tablas y clases de entidades. si se cambia el nombre de la base de datos utilizando herramientas de bases de datos, no se podrá acceder a los datos de la geodatabase.

  • Para generar un archivo de licencia para una geodatabase corporativa bajo licencia con ArcGIS Enterprise on Kubernetes, utilice la operación exportGeodatabaseLicense REST.

Parámetros

EtiquetaExplicaciónTipo de datos
Plataforma de base de datos

Especifica el tipo de sistema de administración de bases de datos al cual se hará una conexión para crear una geodatabase.

  • OracleSe establecerá una conexión a una instancia de Oracle.
  • PostgreSQLSe establecerá una conexión a un clúster de bases de datos de PostgreSQL.
  • SQL ServerSe establecerá una conexión a una instancia de Microsoft SQL Server.
String
Instancia

El nombre de la instancia.

En el caso de SQL Server, indique el nombre de instancia de SQL Server. No se admiten instancias de SQL Server de intercalación binaria o que distingan entre mayúsculas y minúsculas.

En el caso de Oracle, proporcione el nombre TNS o cadena de caracteres de Oracle Easy Connection.

En el caso de PostgreSQL, proporcione el nombre del servidor en el que está instalado PostgreSQL.

String
Base de datos
(Opcional)

El nombre de la base de datos.

Este parámetro es válido para PostgreSQL y SQL Server. Puede escribir el nombre de una base de datos existente, configurada previamente o el nombre de una base de datos que creará la herramienta.

Si la herramienta crea la base de datos en SQL Server, los tamaños de archivo serán los mismos que los definidos para la base de datos de modelo SQL Server o 500 MB para el archivo .mdf y 125 MB para el archivo .ldf, lo que sea mayor. Tanto los archivos .mdf como .ldf se crean en la ubicación predeterminada de SQL Server en el servidor de base de datos. No asigne a la base de datos el nombre sde.

Si la herramienta crea la base de datos en PostgreSQL, utiliza la base de datos template1 como plantilla para la base de datos. Si necesita utilizar otra plantilla (por ejemplo, necesita una plantilla habilitada para PostGIS), debe crear la base de datos antes de ejecutar esta herramienta y proporcionar el nombre de la base de datos existente. Utilice siempre caracteres en minúsculas para el nombre de la base de datos. Si utiliza letras mayúsculas, la herramienta las convertirá a minúsculas.

String
Autenticación del sistema operativo
(Opcional)

Especifica el tipo de autenticación que se debe utilizar para la conexión de base de datos.

  • Activado: se utilizará la autenticación de sistema operativo. La información de inicio de sesión que proporciona para el equipo desde el que ejecuta la herramienta es el inicio de sesión utilizado para autenticar la conexión de base de datos. Si el sistema de administración de bases de datos no está configurado para permitir la autenticación del sistema operativo, la autenticación fallará.
  • Desactivado: se utilizará la autenticación de base de datos. Debe proporcionar un nombre y contraseña de base de datos válidos para la autenticación en la base de datos. Esta es la opción predeterminada. Si el sistema de administración de bases de datos no está configurado para permitir la autenticación de la base de datos, la autenticación fallará.

Boolean
Administrador de base de datos
(Opcional)

Usuario administrador de base de datos para la autenticación de la base de datos. En el caso de Oracle, utilice el usuario sys. En el caso de PostgreSQL, especifique un usuario con estado de superusuario. En el caso de SQL Server, especifique cualquier miembro del rol de servidor fijo sysadmin.

String
Contraseña del administrador de base de datos
(Opcional)

Contraseña de administrador de base de datos para la autenticación de la base de datos.

Encrypted String
Esquema propiedad de SDE
(Opcional)

Este parámetro solo está activado para SQL Server e indica si la geodatabase se creará en el esquema de un usuario sde o en el esquema dbo de la base de datos. .

  • Activado: la geodatabase se creará en el esquema del usuario sde.
  • Desactivado: es necesario haber iniciado sesión en la instancia de SQL Server como un usuario que sea dbo en la instancia, y la geodatabase se creará en el esquema dbo de la base de datos.

Boolean
Administrador de geodatabase
(Opcional)

El nombre del usuario administrador de la geodatabase.

Si utiliza PostgreSQL, este valor debe ser sde. Si el rol de inicio de sesión sde no existe, esta herramienta lo creará y le otorgará el estado de superusuario en el clúster de la base de datos. Si el rol de inicio de sesión sde existe, esta herramienta le otorgará el estado de superusuario en el caso de que aún no lo tenga. La herramienta también crea un esquema sde en la base de datos y otorga el uso del esquema al público.

Si va a usar Oracle, el valor es sde. Si el usuario de sde no existe en la base de datos de Oracle, la herramienta lo creará y le otorgará los privilegios requeridos para crear y actualizar una geodatabase y desconectar a los usuarios de la base de datos. La herramienta también otorga privilegios para permitir las importaciones de datos utilizando Oracle Data Pump. Si el usuario sde ya existe, la herramienta otorgará al usuario existente los mismos privilegios.

Nota:

Ya no se admite la creación o actualización de geodatabases de esquema de usuario en Oracle.

Si utiliza SQL Server y especificó una geodatabase con esquema sde, este valor debe ser sde. La herramienta creará un inicio de sesión de sde, un usuario de base de datos y un esquema, y le otorgará privilegios para crear una geodatabase y eliminar las conexiones de la instancia de SQL Server. Si especificó un esquema dbo, no proporcione un valor para este parámetro.

String
Contraseña del administrador de geodatabase
(Opcional)

La contraseña para el usuario administrador de la geodatabase. Si existe el usuario administrador de la geodatabase en el sistema de administración de bases de datos, la contraseña que proporcione debe coincidir con la contraseña existente. Si el usuario administrador de la geodatabase no existe, escriba una contraseña válida de base de datos para el nuevo usuario. La contraseña debe cumplir la política de contraseñas de la base de datos.

La contraseña es una cadena de caracteres cifrados.

Encrypted String
Nombre de espacio de tabla
(Opcional)

El nombre del espacio de tablas.

Este parámetro es válido solo para tipos de sistema de administración de bases de datos Oracle y PostgreSQL. En el caso de Oracle, realice una de las siguientes acciones:

  • Proporcione el nombre de un espacio de tabla existente. Este espacio de tabla se utilizará como espacio de tabla predeterminado para el usuario administrador de la geodatabase.
  • Escriba un nombre válido para el nuevo espacio de tablas. La herramienta creará un espacio de tablas de 400 MB en la ubicación de almacenamiento predeterminada de Oracle que se establecerá como espacio de tabla predeterminado del administrador de la geodatabase.
  • Deje el espacio de tablas en blanco. La herramienta creará un espacio de tablas de 400 MB llamado SDE_TBS en la ubicación de almacenamiento predeterminada de Oracle. El espacio de tablas SDE_TBS se establecerá como espacio de tablas predeterminado del administrador de la geodatabase.

Esta herramienta no crea un espacio de tablas en PostgreSQL. Debe proporcionar el nombre de un espacio de tablas existente que se utilizará como espacio de tablas predeterminado de la base de datos o dejar este parámetro en blanco. Si deja el parámetro en blanco, la herramienta creará una base de datos en el espacio de tablas pg_default.

String
Archivo de autorización

El archivo de códigos clave que se creó al autorizar ArcGIS Server. Si aún no lo ha hecho, autorice ArcGIS Server para crear este archivo.

Este archivo se encuentra en la carpeta <drive>\Program Files\ESRI\License<release#>\sysgen en Windows o en el directorio /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen en Linux.

Sugerencia:

El directorio /.wine es un directorio oculto.

Podría tener que copiar el archivo de códigos clave desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta.

File
Tipo espacial
(Opcional)

Especifica el tipo espacial que se utilizará. Esto solo es aplicable a las bases de datos PostgreSQL.

  • ST_GeometrySe utilizará el tipo espacial ST_Geometry. Esta es la opción predeterminada.
  • PostGISSe utilizará el tipo espacial PostGIS.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Operación Crear geodatabase corporativa realizada correctamente

Especifica si la geodatabase corporativa se creó correctamente.

Boolean

arcpy.management.CreateEnterpriseGeodatabase(database_platform, instance_name, {database_name}, {account_authentication}, {database_admin}, {database_admin_password}, {sde_schema}, {gdb_admin_name}, {gdb_admin_password}, {tablespace_name}, authorization_file, {spatial_type})
NombreExplicaciónTipo de datos
database_platform

Especifica el tipo de sistema de administración de bases de datos al cual se hará una conexión para crear una geodatabase.

  • OracleSe establecerá una conexión a una instancia de Oracle.
  • PostgreSQLSe establecerá una conexión a un clúster de bases de datos de PostgreSQL.
  • SQL_ServerSe establecerá una conexión a una instancia de Microsoft SQL Server.
String
instance_name

El nombre de la instancia.

En el caso de SQL Server, indique el nombre de instancia de SQL Server. No se admiten instancias de SQL Server de intercalación binaria o que distingan entre mayúsculas y minúsculas.

En el caso de Oracle, proporcione el nombre TNS o cadena de caracteres de Oracle Easy Connection.

En el caso de PostgreSQL, proporcione el nombre del servidor en el que está instalado PostgreSQL.

String
database_name
(Opcional)

El nombre de la base de datos.

Este parámetro es válido para PostgreSQL y SQL Server. Puede escribir el nombre de una base de datos existente, configurada previamente o el nombre de una base de datos que creará la herramienta.

Si la herramienta crea la base de datos en SQL Server, los tamaños de archivo serán los mismos que los definidos para la base de datos de modelo SQL Server o 500 MB para el archivo .mdf y 125 MB para el archivo .ldf, lo que sea mayor. Tanto los archivos .mdf como .ldf se crean en la ubicación predeterminada de SQL Server en el servidor de base de datos. No asigne a la base de datos el nombre sde.

Si la herramienta crea la base de datos en PostgreSQL, utiliza la base de datos template1 como plantilla para la base de datos. Si necesita utilizar otra plantilla (por ejemplo, necesita una plantilla habilitada para PostGIS), debe crear la base de datos antes de ejecutar esta herramienta y proporcionar el nombre de la base de datos existente. Utilice siempre caracteres en minúsculas para el nombre de la base de datos. Si utiliza letras mayúsculas, la herramienta las convertirá a minúsculas.

String
account_authentication
(Opcional)

Especifica el tipo de autenticación que se debe utilizar para la conexión de base de datos.

  • OPERATING_SYSTEM_AUTHSe utilizará la autenticación de sistema operativo. La información de inicio de sesión que proporciona para el equipo desde el que ejecuta la herramienta es el inicio de sesión utilizado para autenticar la conexión de base de datos.Si el sistema de administración de bases de datos no está configurado para permitir la autenticación del sistema operativo, la autenticación fallará.
  • DATABASE_AUTHSe utilizará la autenticación de base de datos. Debe proporcionar un nombre y contraseña de base de datos válidos para la autenticación en la base de datos. Esta es la opción predeterminada.Si el sistema de administración de bases de datos no está configurado para permitir la autenticación de la base de datos, la autenticación fallará.
Boolean
database_admin
(Opcional)

Usuario administrador de base de datos para la autenticación de la base de datos. En el caso de Oracle, utilice el usuario sys. En el caso de PostgreSQL, especifique un usuario con estado de superusuario. En el caso de SQL Server, especifique cualquier miembro del rol de servidor fijo sysadmin.

String
database_admin_password
(Opcional)

Contraseña de administrador de base de datos para la autenticación de la base de datos.

Encrypted String
sde_schema
(Opcional)

Este parámetro solo es importante para SQL Server e indica si la geodatabase se creará en el esquema de un usuario llamado sde o en el esquema dbo de la base de datos. Si va a crear una geodatabase con esquema dbo, debe conectarse como un usuario dbo en la instancia SQL Server.

  • SDE_SCHEMAUn usuario llamado sde es propietario del repositorio de la geodatabase y se almacena en su esquema. Esta es la opción predeterminada.
  • DBO_SCHEMAEl repositorio de la geodatabase se almacenará en el esquema dbo de la base de datos.
Boolean
gdb_admin_name
(Opcional)

El nombre del usuario administrador de la geodatabase.

Si utiliza PostgreSQL, este valor debe ser sde. Si el rol de inicio de sesión sde no existe, esta herramienta lo creará y le otorgará el estado de superusuario en el clúster de la base de datos. Si el rol de inicio de sesión sde existe, esta herramienta le otorgará el estado de superusuario en el caso de que aún no lo tenga. La herramienta también crea un esquema sde en la base de datos y otorga el uso del esquema al público.

Si va a usar Oracle, el valor es sde. Si el usuario de sde no existe en la base de datos de Oracle, la herramienta lo creará y le otorgará los privilegios requeridos para crear y actualizar una geodatabase y desconectar a los usuarios de la base de datos. La herramienta también otorga privilegios para permitir las importaciones de datos utilizando Oracle Data Pump. Si el usuario sde ya existe, la herramienta otorgará al usuario existente los mismos privilegios.

Nota:

Ya no se admite la creación o actualización de geodatabases de esquema de usuario en Oracle.

Si utiliza SQL Server y especificó una geodatabase con esquema sde, este valor debe ser sde. La herramienta creará un inicio de sesión de sde, un usuario de base de datos y un esquema, y le otorgará privilegios para crear una geodatabase y eliminar las conexiones de la instancia de SQL Server. Si especificó un esquema dbo, no proporcione un valor para este parámetro.

String
gdb_admin_password
(Opcional)

La contraseña para el usuario administrador de la geodatabase. Si existe el usuario administrador de la geodatabase en el sistema de administración de bases de datos, la contraseña que proporcione debe coincidir con la contraseña existente. Si el usuario administrador de la geodatabase no existe, escriba una contraseña válida de base de datos para el nuevo usuario. La contraseña debe cumplir la política de contraseñas de la base de datos.

La contraseña es una cadena de caracteres cifrados.

Encrypted String
tablespace_name
(Opcional)

El nombre del espacio de tablas.

Este parámetro es válido solo para tipos de sistema de administración de bases de datos Oracle y PostgreSQL. En el caso de Oracle, realice una de las siguientes acciones:

  • Proporcione el nombre de un espacio de tabla existente. Este espacio de tabla se utilizará como espacio de tabla predeterminado para el usuario administrador de la geodatabase.
  • Escriba un nombre válido para el nuevo espacio de tablas. La herramienta creará un espacio de tablas de 400 MB en la ubicación de almacenamiento predeterminada de Oracle que se establecerá como espacio de tabla predeterminado del administrador de la geodatabase.
  • Deje el espacio de tablas en blanco. La herramienta creará un espacio de tablas de 400 MB llamado SDE_TBS en la ubicación de almacenamiento predeterminada de Oracle. El espacio de tablas SDE_TBS se establecerá como espacio de tablas predeterminado del administrador de la geodatabase.

Esta herramienta no crea un espacio de tablas en PostgreSQL. Debe proporcionar el nombre de un espacio de tablas existente que se utilizará como espacio de tablas predeterminado de la base de datos o dejar este parámetro en blanco. Si deja el parámetro en blanco, la herramienta creará una base de datos en el espacio de tablas pg_default.

String
authorization_file

El archivo de códigos clave que se creó al autorizar ArcGIS Server. Si aún no lo ha hecho, autorice ArcGIS Server para crear este archivo.

Este archivo se encuentra en la carpeta <drive>\Program Files\ESRI\License<release#>\sysgen en Windows o en el directorio /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen en Linux.

Sugerencia:

El directorio /.wine es un directorio oculto.

Podría tener que copiar el archivo de códigos clave desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta.

File
spatial_type
(Opcional)

Especifica el tipo espacial que se utilizará. Esto solo es aplicable a las bases de datos PostgreSQL.

  • ST_GEOMETRYSe utilizará el tipo espacial ST_Geometry. Esta es la opción predeterminada.
  • POSTGISSe utilizará el tipo espacial PostGIS.
String

Salida derivada

NombreExplicaciónTipo de datos
out_result

Especifica si la geodatabase corporativa se creó correctamente.

Boolean

Muestra de código

Ejemplo 1 de CreateEnterpriseGeodatabase (ventana de Python)

El siguiente script crea una geodatabase en una base de datos de Oracle.

Crear un usuario sde y un espacio de tabla predeterminados, sdetbs para el usuario sde.

El archivo de códigos clave se encuentra en un servidor Linux remoto.


import arcpy
arcpy.management.CreateEnterpriseGeodatabase(
    "ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", 
    "manager", "", "sde", "supersecret", "sdetbs", 
    "//myserver/mymounteddrive/myaccessibledirectory/keycodes")
Ejemplo 2 de CreateEnterpriseGeodatabase (ventana de Python)

Este script conecta a una instancia de SQL Server (tor\ssinstance) para crear una base de datos llamada sp_data y una geodatabase con esquema sde en ella.

La conexión se realiza al utilizar la autenticación del sistema operativo. El archivo de códigos clave se encuentra en un servidor Windows remoto.


import arcpy
arcpy.management.CreateEnterpriseGeodatabase(
    "SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", 
    "SDE_SCHEMA", "sde", "sde", "", "//myserver/myaccessibledirectory/keycodes")
Ejemplo 3 de CreateEnterpriseGeodatabase (ventana de Python)

Este script conecta a un clúster de la base de datos de PostgreSQL en un servidor llamado feldspar.

Se creó el usuario sde como una base de datos, pggdb en el espacio de tabla existente, gdbspace.

El archivo de códigos clave se encuentra en el servidor Linux local.

La geodatabase utilizará el tipo espacial ST_Geometry.


import arcpy
arcpy.management.CreateEnterpriseGeodatabase(
    "POSTGRESQL", "feldspar", "pggdb", "DATABASE_AUTH", "postgres", "averturis", 
    "", "sde", "nomira", "gdbspace", 
    "//arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes" "ST_GEOMETRY")
Ejemplo 4 de CreateEnterpriseGeodatabase (script independiente)

La siguiente secuencia de comandos independiente de Python le permite proporcionar la información específica de su sitio utilizando las opciones.

"""
Name: create_enterprise_gdb.py
Description: Provide connection information to a DBMS instance and create an enterprise geodatabase.
Type  create_enterprise_gdb.py -h or create_enterprise_gdb.py --help for usage
Author: Esri
"""

# Import system modules
import arcpy, os, optparse, sys


# Define usage and version
parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 1.0 for 10.1 and higher releases")

#Define help and options
parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', ''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, or POSTGRESQL.")
parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
parser.add_option ("--auth", dest="Account_authentication", type ="choice", choices=['DATABASE_AUTH', 'OPERATING_SYSTEM_AUTH'], default='DATABASE_AUTH', help="Authentication type options (case-sensitive):  DATABASE_AUTH, OPERATING_SYSTEM_AUTH.  Default=DATABASE_AUTH")
parser.add_option ("-U", dest="Dbms_admin", type="string", default="", help="DBMS administrator user")
parser.add_option ("-P", dest="Dbms_admin_pwd", type="string", default="", help="DBMS administrator password")
parser.add_option ("--schema", dest="Schema_type", type="choice", choices=['SDE_SCHEMA', 'DBO_SCHEMA'], default="SDE_SCHEMA", help="Schema Type for SQL Server geodatabase, SDE or DBO. Default=SDE_SCHEMA")
parser.add_option ("-u", dest="Gdb_admin", type="string", default="", help="Geodatabase administrator user name")
parser.add_option ("-p", dest="Gdb_admin_pwd", type="string", default="", help="Geodatabase administrator password")
parser.add_option ("-t", dest="Tablespace", type="string", default="", help="Tablespace name")
parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file")
parser.add_option ("--type", dest="Spatial_type", type="choice", choices=['ST_GEOMETRY', 'POSTGIS'], default="ST_GEOMETRY", help="Spatial Type for PostgreSQL geodatabase, ST_GEOMETRY or POSTGIS. Default=ST_GEOMETRY")

# Check if value entered for option
try:
	(options, args) = parser.parse_args()

	
	#Check if no system arguments (options) entered
	if len(sys.argv) == 1:
		print("%s: error: %s\n" % (sys.argv[0], "No command options given"))
		parser.print_help()
		sys.exit(3)

	#Usage parameters for spatial database connection
	database_type = options.Database_type.upper()
	instance = options.Instance
	database = options.Database.lower()	
	account_authentication = options.Account_authentication.upper()
	dbms_admin = options.Dbms_admin
	dbms_admin_pwd = options.Dbms_admin_pwd
	schema_type = options.Schema_type.upper()
	gdb_admin = options.Gdb_admin
	gdb_admin_pwd = options.Gdb_admin_pwd	
	tablespace = options.Tablespace
	license = options.Authorization_file
	spatial_type = options.Spatial_type.upper()
	
	
	if (database_type == "SQLSERVER"):
		database_type = "SQL_SERVER"
	
	if( database_type ==""):	
		print(" \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified."))
		parser.print_help()
		sys.exit(3)		
		
	if (license == ""):
		print(" \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified."))
		parser.print_help()
		sys.exit(3)			
	
	if(database_type == "SQL_SERVER"):
		if(schema_type == "SDE_SCHEMA" and gdb_admin.lower() != "sde"):
			print("\n%s: error: %s\n" % (sys.argv[0], "To create SDE schema on SQL Server, geodatabase administrator must be SDE."))
			sys.exit(3)
		if (schema_type == "DBO_SCHEMA" and gdb_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring geodatabase administrator specified when creating DBO schema..."))
		if( account_authentication == "DATABASE_AUTH" and dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified with database authentication"))
			sys.exit(3)
		if( account_authentication == "OPERATING_SYSTEM_AUTH" and dbms_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring DBMS administrator specified when using operating system authentication..."))	
	else:
		if (schema_type == "DBO_SCHEMA"):
			print("\nWarning: %s %s, %s\n" % ("Only SDE schema is supported on", database_type, "switching to SDE schema..." ))
			
		if( gdb_admin.lower() == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "Geodatabase administrator must be specified."))
			sys.exit(3)
	
		if( dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified!"))
			sys.exit(3)

		if (account_authentication == "OPERATING_SYSTEM_AUTH"):
			print("Warning: %s %s, %s\n" % ("Only database authentication is supported on", database_type, "switching to database authentication..." ))

	# Get the current product license
	product_license=arcpy.ProductInfo()
	
	
	# Checks required license level
	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
		print("\n" + product_license + " license found!" + " Creating an enterprise geodatabase requires an ArcGIS for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS for Server license.")
		sys.exit("Re-authorize ArcGIS before creating enterprise geodatabase.")
	else:
		print("\n" + product_license + " license available!  Continuing to create...")
		arcpy.AddMessage("+++++++++")
	
	
	try:
		print("Creating enterprise geodatabase...\n")
		arcpy.management.CreateEnterpriseGeodatabase(database_platform=database_type,instance_name=instance, database_name=database, account_authentication=account_authentication, database_admin=dbms_admin, database_admin_password=dbms_admin_pwd, sde_schema=schema_type, gdb_admin_name=gdb_admin, gdb_admin_password=gdb_admin_pwd, tablespace_name=tablespace, authorization_file=license, spatial_type=spatial_type)
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
		arcpy.AddMessage("+++++++++\n")
	except:
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
			
#Check if no value entered for option	
except SystemExit as e:
	if e.code == 2:
		parser.usage = ""
		print("\n")
		parser.print_help()   
		parser.exit(2)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados