Mit der Standard- oder Advanced-Lizenz verfügbar.
Um eine Geodatabase in DB2 unter dem z-Betriebssystem (z/OS) zu erstellen, müssen Sie die folgenden Schritte ausführen:
- Installieren eines ArcGIS- und eines DB2-Clients.
- Konfigurieren von ZPARM-Parametern in DB2.
- Erstellen eines SDE-Benutzers und einer Gruppe unter z/OS.
- Übertragen eines Datasets an z/OS.
- Erstellen von mindestens zwei Datenbanken.
- Erteilen von Berechtigungen für den SDE-Benutzer und die Gruppe.
- Anpassen der .dbtune.sde-Datei zum Festlegen des Systemtabellenspeichers.
- Erstellen einer Geodatabase.
Konfigurieren eines ArcGIS-Clients
Sie müssen einen ArcGIS-Client installieren, um die für die Einrichtung der DB2-Datenbank erforderlichen Dateien abzurufen und das Werkzeug oder Skript zum Erstellen einer Geodatabase auszuführen.
Sie können ein Python-Skript über ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine Runtime Geodatabase Update oder über ArcGIS for Server (Standard oder Advanced) ausführen, um eine Geodatabase zu erstellen. Wenn Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren anstelle eines Skripts ausführen möchten, verwenden Sie ArcGIS for Desktop.
- Installieren Sie den ArcGIS-Client, den Sie für die Erstellung der Geodatabase verwenden möchten.
Befolgen Sie die Anleitungen, die in den Installationsanweisungen der Software bereitgestellt werden.
- In den meisten Fällen wird der ArcGIS-Client auf einem anderen Computer als dem DB2-Server installiert. Installieren und konfigurieren Sie einen DB2-Client daher auf dem ArcGIS-Client-Computer.
Der IBM Data Server Runtime Client für DB2 kann von My Esri heruntergeladen werden, oder Sie können Ihre eigene Installation des DB2-Clients verwenden. Anweisungen zum Installieren finden Sie in der Dokumentation zu DB2. Wenn Sie den DB2-Client auf einem 64-Bit-Betriebssystem installieren, führen Sie die ausführbare Datei für 64-Bit aus, wobei sowohl die 32- als auch die 64-Bit-Dateien installiert werden.
- Sie können eine Verbindung von ArcGIS mit einer DB2-Datenbank herstellen, indem Sie eine DSNless-Verbindungszeichenfolge verwenden. Wenn Sie die Verbindung stattdessen mit einem Datenquellennamen herstellen möchten, müssen Sie die Datenbank katalogisieren, wodurch der Datenquellenname konfiguriert wird. Weitere Anweisungen zum Erstellen eines Datenquellennamens finden Sie in der IBM DB2-Dokumentation.
Als Nächstes konfigurieren Sie das DB2-System.
Konfigurieren von ZPARM-Parametern
Um die Ausführung von ArcGIS als verteilter Client für IBM DB2 unter einem Betriebssystem der Z-Serie (z/OS) zu aktivieren, muss die DDF-Komponente (Distributed Data Facility) gestartet werden. Zur Optimierung der Performance der Geodatabase mit ArcGIS und anderen Clients wird die Verwendung der folgenden ZPARM-Einstellungen in DB2 dringend empfohlen:
- Melden Sie sich unter z/OS als Administrator bei DB2 an.
- Legen Sie im Abschnitt "DSN6FAC" von "DSNTIJUZ" die folgenden Werte fest:
- CMTSTAT=INACTIVE
- IDTHTOIN=3600
- TCPKPALV=120
- Legen Sie im Abschnitt "DSN6SYSP" von "DSNTIJUZ" diese Parameter fest:
- CONDBAT=10000
- EXTSEC=YES
- IMPDSDEF=YES
- IXQTY=0
- MAXDBAT=1000
- TSQTY=0
- XMLVALA=204800
- XMLVALS=10240
- Außerdem müssen Sie im Abschnitt DSN6SPRM von DSNTIJUZ unter WLMENV die richtigen Standardwerte für die WLM-Umgebung festlegen. Diese werden wie folgt definiert:
- CACHEDYN=YES
- EDMDBDC=102400
- EDMPOOL=32000
- EDMSTMTC=102400
- EDM_SKELETON_POOL=102400
- Nachdem Sie die oben aufgelisteten ZPARM-Werte geändert haben, müssen Sie außerdem sicherstellen, dass SYSLMOD im Arbeitsschritt DSNTIZL auf den richtigen Dataset-Namen verweist, damit beim Starten von DB2 das richtige ZPARM-Modul geladen wird.
- Starten Sie DB2 mit SET SYSPARM neu, um die Änderungen zu aktivieren.
Erstellen eines SDE-Benutzers und einer Gruppe
Erstellen Sie in RACF unter z/OS eine primäre Autorisierungs-ID (standardmäßig "sde") mit Zugriff auf die Time Sharing Option (TSO). Informationen zum Erstellen von Benutzern mit RACF finden Sie im z/OS-Administrationshandbuch.
Um die Verwaltung von Benutzerberechtigungen zu vereinfachen, wird eine sekundäre Autorisierungs-ID (eine Benutzergruppe in RACF unter z/OS) empfohlen. Sie müssen die sekundären Autorisierungs-IDs unter z/OS aktivieren. Weitere Informationen hierzu finden Sie im z/OS-Handbuch.
Es sollte sich nur der Benutzer als SDE-Benutzer anmelden, der für die Verwaltung der GIS-Daten und der ArcSDE-Geodatabase zuständig ist. Andere ArcGIS-Benutzer sollten andere Konten verwenden.
- Erstellen Sie mit RACF ein eigenständiges Systembenutzerkonto mit dem Namen "sde".
- Erstellen Sie mit RACF eine Benutzergruppe unter z/OS, zum Beispiel "sdeusers". Übergeben Sie hierzu den Namen der Gruppe auf VM14 an Ihr EC-System.
- Fügen Sie mit RACF den Benutzer "sde" der Gruppe "GISUSERS" hinzu.
Zur Herstellung einer Verbindung mit der Geodatabase als SDE-Benutzer von dem Windows-Client aus, auf dem der ArcGIS-Client installiert ist, muss auf dem Client-Computer ein lokaler Windows-Benutzer mit demselben Benutzernamen (sde) wie für die Verbindung zum Server eingerichtet werden. Dieser Benutzer benötigt keine besonderen Berechtigungen. Informationen zum Erstellen eines lokalen Windows-Benutzers erhalten Sie in der Windows-Dokumentation von Microsoft.
Übertragen eines Datasets an IBM z/OS.
Um eine Geodatabase in DB2 Version 9.1 für das z/OS-System zu erstelle, müssen Sie das Dataset "esriobj.XMIT" in das Ziel-z/OS-System übertragen. Die Datei "esriobj.XMIT" befindet sich im Ordner "DB2zOS" des Verzeichnisses "DatabaseSupport" des ArcGIS-Clients. Die Datei enthält Images von Programmen, die als Links in Ladebibliotheken unter z/OS bearbeitet werden müssen Die folgenden Schritte sind für diese Einrichtung erforderlich:
- Melden Sie sich mit einer SYSADM-Benutzerkonto-ID auf dem z/OS-System an.
- Laden Sie das Dataset "esriobj.XMIT" per FTP in das z/OS-System hoch.
Die Daten weisen das Format "Time Sharing Option/Extension (TSO/E) Transmit/Receive" auf und müssen mithilfe einer BINARY-Übertragung in z/OS hochgeladen werden. Das Dataset befindet sich unter Windows im Ordner "DatabaseSupport\DB2zOS" des ArcGIS-Installationsverzeichnisses.
- Wenn FTP für die Übertragung verwendet wird, muss das Dataset in z/OS mit diesen Eigenschaften definiert werden:
RECFM=FB,LRECL=80,BLKSIZE=3120
In der Regel sind FTP-Systeme so eingerichtet, dass für alle empfangenen Daten, die zu einem neuen Dataset führen, das resultierende neue Dataset nicht das erforderliche Format aufweist. Dies kann jedoch mit FTP-Befehlen geändert werden. Der Befehl für FTP unter Windows lautet
quote site recfm=fb lrecl=80 blksize=3120
Wenn Sie bei z/OS angemeldet sind und die Dateien mithilfe von FTP abrufen, lautet der Befehl
locsite recfm=fm lrecl=80 blksize=3120
- Das Dataset muss von einem Benutzerkonto im z/OS-System über TSO/E RECEIVED empfangen werden. Melden Sie sich bei einem SYSADM-Benutzerkonto im z/OS-System an, und öffnen Sie Option 6 (das Befehlsfenster) von ISPF (Interactive System Productivity Facility).
- Das hochgeladene Dataset heißt "esriobj.XMIT"; geben Sie daher zum Empfangen des Datasets den folgenden TSO/E-Befehl aus:
RECEIVE INDA('SYSADM.ESRIOBJ.XMIT')
Für diesen Befehl wird eine Eingabeaufforderung zur Angabe von Dataset-Erstellungs-Overrides zurückgegeben. Wenn Sie keine Overrides bereitstellen, wird das Dataset unter dem High-Level Qualifier (HLQ) der Benutzer-ID erstellt, mit der Sie sich angemeldet haben.
Sie sollten jetzt über ein Dataset unter "SCR03: <Benutzer>.ESRI.OBJLIB" verfügen.
- Überprüfen Sie die Namen des Datasets. Wenn er richtig ist, muss er im ESRI UDF-Installationsauftrag referenziert werden, der nun in z/OS hochgeladen, bearbeitet und unter z/OS ausgeführt werden muss, wie im nächsten Abschnitt beschrieben wird.
Erstellen von Datenbanken
Es müssen mindestens zwei DB2-Datenbanken im räumlich aktivierten Datenbank-Subsystem vorhanden sein, um eine Geodatabase speichern zu können: eine Datenbank zum Speichern des Geodatabase-Repositorys und eine Datenbank zum Speichern der Benutzerdaten. Die Datenbank mit dem Geodatabase-Repository und die Datenbank bzw. Datenbanken mit den Benutzerdaten bilden zusammen eine Geodatabase. Diese Datenbanken müssen daher erstellt werden, bevor sie die Geodatabase einrichten können.
Das JCL-Skript ESRIUDFI dient zum Erstellen von Datenbanken und UDFs für die Geodatabase-Erstellung. Dieses Skript befindet sich im Ordner "DatabaseSupport\DB2zOS" des ArcGIS-Client-Installationsverzeichnisses. Sie müssen das ESRIUDFI-Skript mit den für Ihre Implementierung spezifischen Informationen anpassen und in z/OS laden und ausführen. Das Skript selbst enthält Anweisungen zum Erstellen von zwei Datenbanken.
Um ESRIUDFI anzupassen, folgen Sie den Anweisungen im JCL-Skript, und überprüfen Sie sorgfältig die folgenden Punkte:
- Im Text von ESRIUDFI gibt es mehrere Zeichenfolgen, die durch die entsprechenden Benutzerumgebungsparameter ersetzt werden müssen. Ausführliche Informationen zur Bedeutung der einzelnen Zeichenfolgen und deren Ersetzung finden Sie oben im ESRIUDFI-Skript.
- Im Schritt ESRIS1 des JCL-Skripts werden zwei Datenbanken erstellt und die Sortierung festgelegt. Um diese Zeilen verwenden zu können, müssen Sie sie auskommentieren und Namen und Sortierungen für die Datenbanken angeben. Beispiel:
CREATE DATABASE SDEDBR00 CCSID UNICODE; CREATE DATABASE SDEDBU00 CCSID UNICODE;
- Optional können Sie eine Speichergruppe erstellen, um die Daten in der Geodatabase effizienter verwalten zu können. Die Speichergruppe muss zuerst erstellt werden, d. h. Sie müssen dem ESRIUDFI-Skript eine zusätzliche Zeile hinzufügen, wie im folgenden Beispiel:
CREATE STOGROUP ARCSDE VOLUMES (VOL1, VOL2, …) VCAT SDECAT; CREATE DATABASE SDEDBR00 CCSID UNICODE STOGROUP ARCGIS; CREATE DATABASE SDEDBU00 CCSID UNICODE STOGROUP ARCGIS;
- Nachdem Sie das ESRIUDFI-Skript angepasst haben, müssen Sie es an den Zielcomputer übergeben.
Hinweis: Die Paketbindung und die Erstellung der SDE.SDE_UPDT_LMOD-Prozedur im letzten Schritt nach Abschluss des Esri UDF-Installationsauftrags ist zwar erfolgreich, es werden jedoch Warnungen angezeigt. Dieses Warnungen weisen darauf hin, dass die Geodatabase-Systemtabellen noch nicht in der Datenbank erstellt wurden. Sie können diese Warnungen ignorieren: Wenn Sie das Werkzeug Enterprise-Geodatabase aktivieren ausführen, werden die Tabellen erstellt, und das Paketobjekt wird automatisch gebunden, wenn es vom Werkzeug referenziert wird.
- Aktivieren Sie das Datenbank-Subsystem räumlich. Anweisungen dazu finden Sie in der Dokumentation zu DB2 z/OS.
Gewähren von Berechtigungen
Nach dem Erstellen von Datenbanken und UDFs müssen dem Benutzer "sde" und der ArcGIS-Benutzergruppe Berechtigungen und Datenbankberechtigungen gewährt werden.
- Melden Sie sich mit einem SYSADM-Konto in DB2 an, um der ArcGIS-Benutzergruppe, die Sie einrichten, sowie dem Benutzer "sde" die notwendigen Berechtigungen zu gewähren. In den GRANT-Anweisungen in diesem Beispiel hat die Gruppe den Namen "SDEUSERS".
GRANT SELECT ON SYSIBM.SYSTABAUTH TO GISUSERS; GRANT SELECT ON SYSIBM.SYSDBAUTH TO GISUSERS; GRANT SELECT ON SYSIBM.SYSROUTINES TO GISUSERS; GRANT SELECT ON SYSIBM.SYSTABCONST TO GISUSERS; GRANT SELECT ON SYSIBM.SYSINDEXES TO GISUSERS; GRANT SELECT ON SYSIBM.SYSKEYS TO GISUSERS; GRANT SELECT ON SYSIBM.SYSCOLUMNS TO GISUSERS; GRANT SELECT ON SYSIBM.SYSCHECKS TO GISUSERS; GRANT SELECT ON SYSIBM.SYSSCHEMAAUTH TO GISUSERS; GRANT SELECT ON SYSIBM.SYSTABLES TO GISUSERS; GRANT SELECT ON SYSIBM.SYSSEQUENCES TO GISUSERS; GRANT SELECT ON SYSIBM.SYSDUMMY1 TO GISUSERS;
- Gewähren Sie dem Benutzer "sde" die folgenden zusätzlichen Berechtigungen:
GRANT BINDADD TO SDE; GRANT CREATE ON COLLECTION SDE TO SDE; GRANT DBADM ON DATABASE <repository_database_name> TO SDE; GRANT DBADM ON DATABASE <user_data_database_name> TO SDE;
- Gewähren Sie der Rolle PUBLIC die folgende Berechtigung:
GRANT EXECUTE ON PACKAGE SYSPROC.* TO PUBLIC;
- Die folgende Anweisung ist erforderlich, wenn Sie eine Speichergruppe verwenden. In diesem Beispiel lautet der Name der Speichergruppe "ARCGIS".
GRANT USE OF STOGROUP ARCGIS to SDE;
Anpassen von dbtune.sde
Ändern Sie die dbtune.sde-Datei in <ArcGIS client installation directory>\DatabaseSupport\DB2zOS, um auf Ihr Datenbank-Subsystem zu verweisen.
Die Datei "dbtune.sde" wird verwendet, um die Geodatabase-Systemtabelle DBTUNE mit Konfigurationsschlüsselwörtern, Parametern und Werten aufzufüllen, mit denen die physische Speicherung von Tabellen in der Datenbank gesteuert wird. Bei DB2-Datenbanken unter z/OS müssen Sie diese Datei bearbeiten, bevor Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren ausführen, um anzugeben, in welcher Datenbank bestimmte Tabellen erstellt werden sollen.
- Öffnen Sie die Datei "dbtune.sde" in einem Texteditor.
- Heben Sie die Auskommentierung dieser Konfigurationszeichenfolgenwerte unter dem Schlüsselwort "DATA_DICTIONARY" auf, und ändern Sie sie, um anzugeben, in welcher Datenbank bestimmte Geodatabase-Systemtabellen erstellt werden sollen. Die folgenden Einstellungen sind Vorschläge. In der Datenbank mit dem Namen "SDEDBR00" werden die Geodatabase-Repositorytabellen gespeichert.
B_STORAGE "IN DATABASE SDEDBR00" MVTABLES_MODIFIED_TABLE "IN DATABASE SDEDBR00" STATES_TABLE "IN DATABASE SDEDBR00" STATE_LINEAGES_TABLE "IN DATABASE SDEDBR00" VERSIONS_TABLE "IN DATABASE SDEDBR00" XML_INDEX_TAGS_TABLE "IN DATABASE SDEDBR00"
- Stellen Sie sicher, dass die Parameter BLOB_OPTION und CLOB_OPTION unter dem Schlüsselwort DEFAULTS auf leere Zeichenfolgen festgelegt werden.
- Heben Sie die Auskommentierung dieser Konfigurationszeichenfolgenwerte unter dem Schlüsselwort DEFAULTS auf und ändern Sie diese, um anzugeben, in welcher Datenbank bestimmte mit benutzerdefinierten Daten verbundene Objekte erstellt werden sollen.
Die folgenden Einstellungen sind Vorschläge. Die Datenbank mit dem Namen SDEDBU00 ist die Datenbank, in der benutzerdefinierte Daten im Datenbank-Subsystem gespeichert werden.
AUX_STORAGE "IN DATABASE SDEDBU00" A_STORAGE "IN DATABASE SDEDBU00" BLK_STORAGE "IN DATABASE SDEDBU00" BND_STORAGE "IN DATABASE SDEDBU00" B_STORAGE "IN DATABASE SDEDBU00" D_STORAGE "IN DATABASE SDEDBU00" RAS_STORAGE "IN DATABASE SDEDBU00"
- Heben Sie die Auskommentierung dieser Konfigurationszeichenfolgenwerte unter dem Schlüsselwort LOGFILE_DEFAULTS auf und ändern Sie diese, um anzugeben, in welcher Datenbank Protokolldateitabellen erstellt werden sollen.
LD_STORAGE "IN DATABASE SDEDBU00" LF_STORAGE "IN DATABASE SDEDBU00" SESSION_STORAGE "IN DATABASE SDEDBU00"
- Speichern und schließen Sie die Datei "dbtune.sde".
Nun können Sie eine Geodatabase im DB2-Subsystem erstellen.
Erstellen einer Geodatabase
Verwenden Sie eine der folgenden Methoden, um eine Geodatabase in DB2 unter z/OS zu erstellen:
Verwenden Sie das Werkzeug Enterprise-Geodatabase aktivieren.
Wenn Sie ArcGIS for Desktop installiert und für die Verbindung mit Ihrem DB2-Subsystem konfiguriert haben, können Sie das Werkzeug Enterprise-Geodatabase ausführen.
- Starten Sie ArcMap oder ArcCatalog.
- Herstellen einer Verbindung mit DB2 über das Kataloginhaltsverzeichnis. Stellen Sie die Verbindung mit dem SDE-Anmeldung her.
Vergessen Sie nicht, das Kennwort des SDE-Benutzers im Dialogfeld Datenbankverbindung zu speichern.
- Klicken Sie mit der rechten Maustaste auf die Datenbankverbindung und wählen Sie Geodatabase aktivieren.
Das Werkzeug Enterprise-Geodatabase aktivieren wird geöffnet.
- Fügen Sie im Textfeld Eingabe-Datenbank die Datenbankverbindungsdatei hinzu.
- Navigieren Sie zu der ArcGIS for Server-Schlüsselcodedatei, die bei der Autorisierung von ArcGIS for Server erstellt wurde, und fügen Sie sie dem Textfeld Autorisierungsdatei hinzu.
Wenn Sie zum Autorisieren von ArcGIS for Server den Assistenten verwenden, wird eine Schlüsselcodedatei auf dem Server erzeugt, auf dem die Software installiert ist. Wenn Sie ArcGIS for Server in einem Linux-System autorisiert haben, wurde die Datei im Verzeichnis /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen erstellt. Wenn Sie die Autorisierung auf einem Windows-Server ausgeführt haben, wurde die Datei im Verzeichnis Program Files\ESRI\License<release>\sysgen erstellt. Autorisieren Sie ArcGIS for Server, um diese Datei zu erstellen, sofern Sie dies nicht bereits getan haben.
- Klicken Sie auf OK, um das Werkzeug auszuführen.
Zum Erstellen der Geodatabase wird eine Protokolldatei (GDBCreateGeodatabase<#>.log) in das Verzeichnis geschrieben, das für die Variable "%TEMP%" auf dem Computer angegeben wurde, auf dem das Werkzeug ausgeführt wird. Falls Sie Probleme beim Ausführen des Werkzeugs haben, überprüfen Sie diese Protokolldatei, um das Problem zu beheben.
Es wird eine Geodatabase in Ihrem DB2-Subsystem erstellt.
Erstellen Sie nun Benutzer, die Daten erstellen können.
Verwenden eines Python-Skripts
Sie können ein Python-Skript über einen Client-Computer von ArcGIS for Desktop (Standard oder Advanced), ArcGIS for Server (Standard oder Advanced) oder ArcGIS Engine (mit der Erweiterung "Geodatabase-Aktualisierung") ausführen, um eine Geodatabase in einem DB2-Subsystem zu erstellen.
Führen Sie die folgenden Schritte aus, um ein Python-Skript zum Erstellen einer Geodatabase in einem DB2 z/OS-Subsystem auszuführen:
- Erstellen Sie eine Textdatei auf einem ArcGIS-Client-Computer, und kopieren Sie das folgende Skript in die Datei.
""" 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 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 " + arcpy.GetInstallInfo()['Version'] ) #Define help and options parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS', ''], default="", help="Type of enterprise DBMS: SQLSERVER, 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) if (database_type == "SQLSERVER"): database_type = "SQL_SERVER" # 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 for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS for 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)
- Speichern Sie die Datei mit der Erweiterung .py.
- Führen Sie das Skript aus, indem Sie für Ihre Site spezifische Optionen und Informationen bereitstellen.
In der folgenden Beispielausführung von einem Windows-Computer wird die Datei "enable_gdb.py" für die Datenbank "spdata" auf der Instanz "db2prod" ausgeführt. Die Verbindung wird als SDE-Anmeldung mit dem Kennwort "Tgdbst@rtsh3r3" hergestellt. Im Standardverzeichnis des ArcGIS-Servers wird eine Schlüsselcodedatei angegeben, um die Geodatabase zu autorisieren.
enable_gdb.py --DBMS DB2 -i db2prod --auth DATABASE_AUTH -u sde -p Tgdbst@rtsh3r3 -D spdata -l \\Program Files\ESRI\License10.3\sysgen\keycodes
Dies ist ein Beispiel für die Ausführung des Skripts auf einem Linux-Computer:
./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/License10.3/sysgen/keycodes
Zum Erstellen der Geodatabase (GDBCreateGeodatabase<#>.log) wird eine Protokolldatei in das Verzeichnis geschrieben, das für die TEMP- oder TMP-Variable auf dem Computer angegeben wurde, auf dem das Skript ausgeführt wird.
Es wird eine Geodatabase in Ihrem DB2-Subsystem erstellt.
Erstellen Sie nun Benutzer, die Daten erstellen können.