ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Mehr ...

Einrichten einer Geodatabase in Informix

Mit der Standard- oder Advanced-Lizenz verfügbar.

  • Einrichten von Informix
  • Konfigurieren eines ArcGIS-Clients
  • Erstellen einer Geodatabase

Verwenden Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren oder ein Python-Skript, um Geodatabases in einer IBM Informix-Datenbank zu erstellen.

In den folgenden Abschnitten wird die Vorgehensweise beschrieben:

  • Einrichten von Informix zum Speichern einer Geodatabase.
  • Konfigurieren eines ArcGIS-Clients zum Herstellen einer Verbindung mit Informix.
  • Erstellen einer Geodatabase in einer Informix-Datenbank.

Einrichten von Informix

Bevor Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase aktivieren oder das Skript zum Erstellen einer Geodatabase in Informix ausführen, müssen Sie zuerst das Informix-Datenbankmanagementsystem installieren und konfigurieren. Überprüfen Sie die ArcGIS-Systemanforderungen von ArcGIS for Server im Resource Center, bevor Sie eine Geodatabase einrichten, um sicherzustellen, dass die Datenbank-, ArcGIS- und Hardwarekombinationen unterstützt werden.

Befolgen Sie zum Installieren und Konfigurieren der Informix-Instanz die von IBM bereitgestellten Anweisungen. Führen Sie dann die folgenden Schritte aus, um eine Datenbank zu konfigurieren, und melden Sie sich an, um Ihre Geodatabase zu verwenden.

  1. Erstellen Sie auf dem Informix-Server Anmeldeinformationen für das Betriebssystem mit dem Namen "sde" .

    Sie stellen eine Verbindung mit der Datenbank mit der SDE-Anmeldung her, um eine Geodatabase zu erstellen.

  2. Nehmen Sie folgende Änderungen an der ONCONFIG-Datei von Informix vor:
    1. Heben Sie die Auskommentierung des Parameters "VPCLASS jvp,num=1" auf.

      Dadurch kann die Funktion "sde.retrieve_guid()" in der Geodatabase erstellt werden, die für die Replikation, Offline-Verwendung von Karten und in SQL bearbeiteten Tabellen mit globaler ID- und GUID-Spalte erforderlich ist. Diese Einstellung wird auch für nicht versionierte Archivierungs-Workflows benötigt.

    2. Legen Sie den Parameter "USEOSTIME" auf "1" fest, um Subsekunden-Genauigkeit für Zeitwerte zu verwenden.

      Die Einstellung dieses Parameters ermöglicht die Implementierung von Bearbeitungs-Workflows, die die Bearbeitung nicht versionierter Daten erfordern, wenn keine Netzverbindung besteht.

    3. Starten Sie Informix neu, um die Änderungen zu implementieren, die Sie an der ONCONFIG-Datei vorgenommen haben.
  3. Erstellen Sie in der Informix-Instanz eine Datenbank und konfigurieren Sie die Speicherplätze.

    Die Informix-Datenbank, die Sie für die Geodatabase verwenden, muss folgende Voraussetzungen erfüllen:

    • Mindestens 100 MB freien Speicher zum Speichern von Geodatabase-Systemobjekten
    • Protokollierung bzw. gepufferte Protokollierung ist für die Datenbank aktiviert

      ArcGIS legt Transaktionen fest und es können erst Daten eingefügt werden, wenn die Datenbank als "logged" oder "buffered logged" erstellt wurde. Sie können dies beim Erstellen der Datenbank über "dbaccess" oder mit dem Befehl "ontape" festlegen.

      ontape -s -B <database name>
      

    • Aktivierte Protokollierung für Smart Large Object Spaces

      Auch alle für räumliche Daten verwendeten Smart Large Object Spaces (sbspaces) müssen protokolliert werden. Beim Erstellen von Smart Large Objects ist die Protokollierung standardmäßig nicht aktiviert. Um jedoch sicherzustellen, dass die Transaktionsprotokollierung für Rollbacks und den Schutz aller räumlichen Daten aktiviert ist, müssen Sie die Protokollierung für alle Smart BLOB aktivieren. Führen Sie den folgenden Befehl als Informix-Benutzer aus, um die Protokollierung für einen Smart Large Object sbspace zu aktivieren:

      onspaces -ch SBLOBspace -DF LOGGING=ON
      

  4. Weisen Sie dem SDE-Anmeldenamen die EXTEND-Rolle und RESOURCE-Berechtigungen in der Datenbank zu.

Richten Sie als Nächstes einen ArcGIS-Client ein, über den Sie eine Verbindung herstellen und eine Geodatabase in der Informix-Datenbank erstellen.

Konfigurieren eines ArcGIS-Clients

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.

Hinweis:

Sie benötigen eine ArcGIS-Server-Schlüsselcodedatei, um Ihre Geodatabase im nächsten Abschnitt zu autorisieren. Auch wenn Sie zum Erstellen der Geodatabase kein Python-Skript von einem ArcGIS-Server-Computer ausführen, müssen Sie ArcGIS-Server installieren und autorisieren, um die Schlüsselcodedatei abzurufen.

  1. 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.

  2. In den meisten Fällen wird der ArcGIS-Client auf einem anderen Computer als dem Informix-Server installiert. Installieren und konfigurieren Sie einen Informix-Client daher auf dem ArcGIS-Client-Computer.

    Der Informix Connect (IConnect)-Client kann von My Esri heruntergeladen werden. Anweisungen zum Installieren des Clients finden Sie in der Informix-Dokumentation. Wenn Sie den Informix-Client so installieren, dass er mit einem 32-Bit-ArcGIS-Client ausgeführt wird, installieren Sie die 32-Bit-Version des Informix IConnect-Clients. Wenn Sie den Informix-Client so installieren, dass er mit ArcGIS for Server ausgeführt wird, installieren Sie den 64-Bit-IConnect-Client.

  3. Wenn Ihr ArcGIS-Client auf einem Windows-Computer installiert ist, registrieren Sie den Informix-Server via SetNet32.
  4. Sie können eine Verbindung von ArcGIS mit einer Informix-Datenbank herstellen, indem Sie eine DSNless-Verbindungszeichenfolge verwenden. Wenn Sie die Verbindung stattdessen mit einem ODBC-Datenquellennamen herstellen möchten, müssen Sie den Datenquellenname konfigurieren. Weitere Anweisungen finden Sie unter Einrichten einer ODBC-Datenquelle für Informix.

Jetzt können Sie eine Geodatabase erstellen.

Erstellen einer Geodatabase

Verwenden Sie eine der folgenden Methoden, um eine Geodatabase in der Informix-Datenbank zu erstellen:

Verwenden Sie das Werkzeug Enterprise-Geodatabase aktivieren.

Wenn Sie ArcGIS for Desktop installiert und für die Verbindung mit Ihrer Informix-Datenbank konfiguriert haben, können Sie das Werkzeug Enterprise-Geodatabase ausführen.

  1. Starten Sie ArcMap oder ArcCatalog.
  2. Stellen Sie im Kataloginhaltsverzeichnis eine Verbindung mit der Informix-Datenbank her. Stellen Sie die Verbindung mit dem SDE-Anmeldung her.

    Vergessen Sie nicht, das Kennwort des SDE-Benutzers im Dialogfeld Datenbankverbindung zu speichern.

    Hinweis:

    Bei Versionen vor ArcGIS 10.3 konnte beim Aktivieren der Geodatabase-Funktionalität oder beim Aktualisieren einer Geodatabase keine DSNless-Verbindung verwendet werden.

  3. Klicken Sie mit der rechten Maustaste auf die Datenbankverbindung und wählen Sie Geodatabase aktivieren.

    Das Werkzeug Enterprise-Geodatabase aktivieren wird geöffnet.

  4. Fügen Sie dem Textfeld Eingabe-Database die Datenbankverbindungsdatei für die Informix-Datenbank hinzu.
  5. 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.

  6. 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 Ihrer Informix-Datenbank erstellt.

Als Nächstes erstellen Sie Benutzer, um Daten in die Geodatabase zu laden. Weitere Anweisungen zum Erstellen von Benutzern finden Sie in der Dokumentation zum IBM Informix Information Center.

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 einer Informix-Datenbank zu erstellen.

Führen Sie die folgenden Schritte aus, um ein Python-Skript zum Erstellen einer Geodatabase in einer Informix-Datenbank auszuführen:

  1. 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)
    

  2. Speichern Sie die Datei mit der Erweiterung .py.
  3. 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 "idsprod" 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 INFORMIX -i idsprod --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 INFORMIX -i idsprod --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
    
    Tipp:

    Geben Sie in der Eingabeaufforderung -h oder --help ein, um die Syntaxhilfe aufzurufen.

    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 Ihrer Informix-Datenbank erstellt.

Als Nächstes erstellen Sie Benutzer, um Daten in die Geodatabase zu laden. Weitere Anweisungen zum Erstellen von Benutzern finden Sie in der Dokumentation zum IBM Informix Information Center.

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches