Disponible con una licencia Standard o Advanced.
Instale y configure IBM Db2 y un cliente de ArcGIS y utilice la herramienta de geoprocesamiento Habilitar geodatabase corporativa o un script de Python para crear una geodatabase en una base de datos de Db2.
En este tema se explica la creación de una geodatabase de Db2 en servidores Linux, UNIX o Windows. Consulte las instrucciones de creación de una geodatabase de Db2 en el sistema operativo z (z/OS) en Crear una geodatabase en Db2 z/OS.
Requisitos previos
Antes de crear una geodatabase en Db2 en Linux, UNIX o Windows, tiene que hacer lo siguiente:
- Confirme que las versiones de ArcGIS, Db2 y el sistema operativo que desea usar sean compatibles.
- Obtenga los clientes de Db2 necesarios para conectarse a la versión de Db2 que usará para almacenar su geodatabase.
- Obtenga un archivo de códigos clave de ArcGIS Server y ubíquelo en una ubicación a la que pueda acceder desde el cliente de ArcGIS que vaya a usar para crear la geodatabase.
- Instale y configure Db2.
Instalar y configurar Db2
Antes de que sea posible ejecutar la herramienta Habilitar geodatabase corporativa o un script para crear una geodatabase en Db2, usted (o bien el departamento de TI o bien el administrador de base de datos) debe instalar y configurar el sistema de administración de bases de datos Db2.
Para instalar y configurar la instancia de Db2, debería seguir las instrucciones de IBM. A continuación, realice estos pasos para configurar una base de datos y el nombre de usuario que va a utilizar con la geodatabase.
-
Cree un inicio de sesión en el sistema operativo denominado sde en el servidor de Db2.
Para crear una geodatabase se conectará a la base de datos con el nombre de usuario sde.
- Cree una base de datos de Db2 y regístrela con el módulo Spatial Extender.
- Otorgue autoridad DBADM al usuario sde en la base de datos.
A continuación, configure un cliente de ArcGIS desde el que conectarse y cree una geodatabase en la base de datos de Db2.
Configurar clientes
Puede ejecutar un script de Python desde ArcGIS Desktop (Desktop Standard o Desktop Advanced), ArcGIS Engine Geodatabase Update o ArcGIS Server (enterprise edition) para crear una geodatabase. Si desea ejecutar la herramienta de geoprocesamiento Habilitar geodatabase corporativa en lugar de un script, use ArcGIS Desktop.
- Instale el cliente de ArcGIS que desea usar para crear la geodatabase.
Siga las instrucciones que se proporcionan en las guías de instalación de software.
- El cliente de ArcGIS se instalará en un equipo diferente al servidor de Db2 en la mayoría de los casos; por consiguiente, instale y configure el cliente de Db2 en el equipo cliente de ArcGIS.
Puede descargar el IBM Data Server Runtime Client para Db2 desde My Esri, o bien usar su propia instalación del cliente de Db2. Consulte las instrucciones de instalación en la documentación de Db2. Si va a instalar el cliente de Db2 en un sistema operativo de 64 bits, ejecute el ejecutable de 64 bits; instala los archivos de 32 y 64 bits, lo que le permite conectarse desde clientes de ArcGIS de 32 y 64 bits.
- Mediante una cadena de conexión DSNless puede conectarse a la base de datos de Db2 desde ArcGIS. Sin embargo, si en su lugar quiere utilizar un nombre de fuente de datos para conectarse, debe catalogar la base de datos y configurar el nombre de la fuente de datos. Consulte las instrucciones de creación del nombre de fuente de datos en la documentación de Db2 de IBM.
Ahora puede crear una geodatabase.
Crear una geodatabase
Utilice uno de los métodos siguientes para crear una geodatabase en la base de datos de Db2:
Utilizar la herramienta Habilitar geodatabase corporativa
Si instala y configura ArcGIS Desktop para conectarse a la base de datos de Db2, puede ejecutar la herramienta Habilitar geodatabase corporativa.
Siga estos pasos para crear una geodatabase desde ArcMap:
- Inicie ArcMap o ArcCatalog.
-
Conéctese a la base de datos de Db2. Utilice el nombre de usuario sde para conectarse.
Asegúrese de guardar la contraseña de usuario sde en el cuadro de diálogo Conexión de base de datos.
- Haga clic con el botón derecho en la conexión de base de datos y haga clic en Habilitar geodatabase.
Se abre la herramienta Habilitar geodatabase corporativa.
- Agregue el archivo de conexión de base de datos para la base de datos de Db2 al cuadro de texto Base de datos de entrada.
- Navegue hasta el archivo de códigos clave de ArcGIS Server que se creó cuando autorizó ArcGIS Server y agréguelo al cuadro de texto Archivo de autorización.
Cuando utiliza el asistente para autorizar ArcGIS Server, se escribe un archivo de códigos clave en el equipo donde está instalado el software. Si autorizó ArcGIS Server en un cuadro de Linux, el archivo se creó en /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen. Si autorizó en un servidor de Windows, el archivo se creó en Program Files\ESRI\License<release>\sysgen. Copie este archivo en una ubicación a la que pueda tener acceso desde la herramienta Habilitar geodatabase corporativa. Si aún no lo hizo, autorice ArcGIS Server para crear este archivo.
- Haga clic en Aceptar para ejecutar la herramienta.
Puede encontrar los mensajes relativos a la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.
Se crea una geodatabase en la base de datos de Db2.
A continuación, cree usuarios para cargar datos en la geodatabase. Consulte las instrucciones de creación de usuarios en el Centro de información de Db2 de IBM.
Utilizar un script de Python
Puede ejecutar un script de Python desde un equipo cliente de ArcGIS Desktop (Desktop Standard o Desktop Advanced), ArcGIS Server (enterprise edition) o ArcGIS Engine Geodatabase Update para crear una geodatabase en una base de datos de Db2.
Siga estos pasos para ejecutar un script de Python para crear la geodatabase en una base de datos de Db2:
- Cree un archivo de texto en el equipo cliente de ArcGIS y copie en él el script siguiente.
""" Name: enable_enterprise_gdb.py Description: Provide connection information to an enterprise database and enable enterprise geodatabase. Type enable_enterprise_gdb.py -h or enable_enterprise_gdb.py --help for usage """ # Import system modules import arcpy, os, optparse, sys # Define usage and version parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 1.0 for " + arcpy.GetInstallInfo()['Version'] ) #Define help and options parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQL_SERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS', ''], default="", help="Type of enterprise DBMS: SQL_SERVER, ORACLE, POSTGRESQL, DB2, INFORMIX, or DB2ZOS.") parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name") 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="User", type="string", default="", help="Geodatabase administrator user name") parser.add_option ("-p", dest="Password", type="string", default="", help="Geodatabase administrator password") parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name: Not required for Oracle") parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file") # 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 account_authentication = options.account_authentication.upper() username = options.User.lower() password = options.Password database = options.Database.lower() license = options.Authorization_file 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) # Get the current product license product_license=arcpy.ProductInfo() if (license == ""): print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.") parser.print_help() sys.exit(3) # Checks required license level if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE': print "\n" + product_license + " license found!" + " Enabling enterprise geodatabase functionality requires an ArcGIS Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS Server license." sys.exit("Re-authorize ArcGIS before enabling an enterprise geodatabase.") else: print "\n" + product_license + " license available! Continuing to enable..." arcpy.AddMessage("+++++++++") # Local variables instance_temp = instance.replace("\\","_") instance_temp = instance_temp.replace("/","_") instance_temp = instance_temp.replace(":","_") Conn_File_NameT = instance_temp + "_" + database + "_" + username if os.environ.get("TEMP") == None: temp = "c:\\temp" else: temp = os.environ.get("TEMP") if os.environ.get("TMP") == None: temp = "/usr/tmp" else: temp = os.environ.get("TMP") Connection_File_Name = Conn_File_NameT + ".sde" Connection_File_Name_full_path = temp + os.sep + Conn_File_NameT + ".sde" # Check for the .sde file and delete it if present arcpy.env.overwriteOutput=True if os.path.exists(Connection_File_Name_full_path): os.remove(Connection_File_Name_full_path) print "\nCreating Database Connection File...\n" # Process: Create Database Connection File... # Usage: out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true) arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE") for i in range(arcpy.GetMessageCount()): if "000565" in arcpy.GetMessage(i): #Check if database connection was successful arcpy.AddReturnMessage(i) arcpy.AddMessage("\n+++++++++") arcpy.AddMessage("Exiting!!") arcpy.AddMessage("+++++++++\n") sys.exit(3) else: arcpy.AddReturnMessage(i) arcpy.AddMessage("+++++++++\n") # Process: Enable geodatabase... try: print "Enabling Enterprise Geodatabase...\n" arcpy.EnableEnterpriseGeodatabase_management(input_database=Connection_File_Name_full_path, authorization_file=license) for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i) arcpy.AddMessage("+++++++++\n") except: for i in range(arcpy.GetMessageCount()): arcpy.AddReturnMessage(i) if os.path.exists(Connection_File_Name_full_path): os.remove(Connection_File_Name_full_path) #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)
- Guarde el archivo con una extensión .py.
- Ejecute el script, proporcionando opciones e información específicas de su sitio.
En el siguiente ejemplo ejecutado desde un equipo con Windows, el archivo enable_gdb.py se ejecuta desde la base de datos spdata en la instancia db2prod. La conexión se realiza con el nombre de usuario sde y la contraseña Tgdbst@rtsh3r3. Se especifica un archivo de códigos clave en la ubicación predeterminada de ArcGIS Server para autorizar la geodatabase.
enable_gdb.py --DBMS DB2 -i db2prod --auth DATABASE_AUTH -u sde -p Tgdbst@rtsh3r3 -D spdata -l '\\Program Files\ESRI\License\sysgen\keycodes'
Este es un ejemplo de la ejecución del script en un equipo con Linux:
/enable_gdb.py --DBMS DB2 -i db2prod --auth DATABASE_AUTH -u sde -p Tgdbst@rtsh3r3 -D spdata -l '/usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes'
Puede encontrar los mensajes relativos a la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP o TMP del equipo en el que se ejecuta el script de Python. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.
Se crea una geodatabase en la base de datos de Db2.
A continuación, cree usuarios para cargar datos en la geodatabase. Consulte las instrucciones de creación de usuarios y concesión de privilegios para cargar datos en el Centro de información de IBM Db2.