Enterprise-Geodatabase erstellen (Data Management)

Zusammenfassung

Erstellt eine Datenbank, Speicherorte und einen Datenbankbenutzer, der als Geodatabase-Administrator und Besitzer der Geodatabase fungiert. Die Funktionen sind je nach verwendetem Datenbankmanagementsystem unterschiedlich. Das Werkzeug erteilt dem Geodatabase-Administrator die erforderlichen Berechtigungen, um eine Geodatabase zu erstellen, und erstellt dann eine Geodatabase in der Datenbank.

Verwendung

  • Die folgende Tabelle zeigt, welche Funktionalität das Werkzeug für die verschiedenen Typen von Datenbankmanagementsystemen bietet:

    FunktionDatenbank

    Erstellen einer Datenbank

    PostgreSQL und Microsoft SQL Server

    Erstellen eines Tablespace

    Oracle

    Erstellen eines Geodatabase-Administratorbenutzers in der Datenbank

    Oracle, PostgreSQL und SQL Server

    Das Werkzeug erstellt nur dann einen Benutzer in SQL Server, wenn Sie eine SDE-Schema-Geodatabase erstellen.

    Erteilt dem Geodatabase-Administrator die zum Erstellen und Aktualisieren einer Geodatabase sowie zum Entfernen von Datenbankverbindungen erforderlichen Berechtigungen

    Oracle und PostgreSQL

    Erteilt dem Geodatabase-Administrator die zum Erstellen einer Geodatabase und zum Entfernen von Datenbankverbindungen erforderlichen Berechtigungen

    SQL Server (wenn eine SDE-Schema-Geodatabase erstellt wird)

    Erteilt dem Geodatabase-Administrator die zum Importieren von Daten mit Oracle Data Pump erforderlichen Berechtigungen

    Oracle 12c und höhere Versionen

    Erstellen einer Geodatabase in der angegebenen Datenbank

    Oracle, PostgreSQL und SQL Server

  • Sie müssen ArcGIS Desktop (Standard oder Advanced), ArcGIS Pro (Standard oder Advanced), ArcGIS Engine mit der Erweiterung "Geodatabase Update" oder ArcGIS Server auf dem Computer installiert haben, auf dem Sie die Geodatabase erstellen. Wenn Sie Oracle oder SQL Server verwenden, müssen Sie außerdem einen Datenbankmanagementsystem-Client auf dem Computer installieren und konfigurieren, auf dem der ArcGIS-Client installiert ist.

  • Bevor Sie eine Geodatabase in Oracle erstellen können, müssen Sie die Datei DatabaseSupport.zip (Windows) bzw. DatabaseSupport.tar (Linux) von My Esri herunterladen, um die Bibliothek "st_shapelib" (Windows) oder "libst_shapelib" (Linux) zu erhalten. Legen Sie die Bibliothek auf dem Oracle-Server ab. Stellen Sie sicher, dass Sie die richtige Bibliothek für das Betriebssystem kopieren, auf dem Oracle installiert ist.

  • Bevor Sie eine Geodatabase erstellen, müssen Sie einen räumlichen Typ für den PostgreSQL-Datenbank-Cluster verfügbar machen. Um den Datentyp "ST_Geometry" zu verwenden, müssen Sie die Datei DatabaseSupport.zip (Windows) bzw. DatabaseSupport.tar (Linux) von My Esri herunterladen, um die Bibliothek "st_geometry" zu erhalten. Legen Sie die Bibliothek im Verzeichnis %PostgreSQL%\lib (Windows) oder im Verzeichnis $PKGLIBDIR (Linux) auf dem PostgreSQL-Server ab. Stellen Sie sicher, dass Sie die richtige Bibliothek für die von Ihnen verwendete Version von PostgreSQL und das Betriebssystem kopieren, auf dem PostgreSQL installiert ist. Um einen räumlichen PostGIS-Datentyp zu verwenden, müssen Sie PostGIS im PostgreSQL-Datenbank-Cluster installieren.

  • Für Datenbank-Services wird dieses Werkzeug nicht unterstützt.

  • Nachdem die Geodatabase erstellt wurde, kann die Datenbank, in der sie gespeichert ist, nicht umbenannt werden. Der Name der Datenbank wird in den Geodatabase-Systemtabellen gespeichert, wo er zur vollständigen Qualifizierung der Tabellen- und Feature-Class-Namen verwendet wird. Wird also der Datenbankname durch Datenbankwerkzeuge verändert, verlieren Sie den Zugriff auf die Geodatabase-Daten.

Parameter

BeschriftungErläuterungDatentyp
Datenbankplattform

Gibt den Typ des Datenbankmanagementsystems an, mit dem zum Erstellen einer Geodatabase eine Verbindung hergestellt wird.

  • OracleEs wird eine Verbindung mit einer Oracle-Instanz hergestellt.
  • PostgreSQLEs wird eine Verbindung mit einem PostgreSQL-Datenbank-Cluster hergestellt.
  • SQL ServerEs wird eine Verbindung mit einer Microsoft SQL Server-Instanz hergestellt.
String
Instanz

Der Name der Instanz.

Geben Sie für SQL Server den Namen der SQL Server-Instanz an. SQL Server-Instanzen, bei denen die Groß-/Kleinschreibung beachtet werden muss bzw. die eine BINARY-Sortierung aufweisen, werden nicht unterstützt.

Für Oracle müssen Sie entweder den TNS-Namen oder die Oracle Easy Connection-Zeichenfolge angeben.

Geben Sie für PostgreSQL den Namen des Servers an, auf dem PostgreSQL installiert ist.

String
Datenbank
(optional)

Der Name der Datenbank.

Dieser Parameter ist für PostgreSQL und SQL Server gültig. Sie können den Namen einer vorhandenen, vorkonfigurierten Datenbank oder einen Namen für eine Datenbank angeben, die das Werkzeug erstellt.

Wenn Sie die Datenbank mithilfe des Werkzeugs in SQL Server erstellen, entspricht die Dateigröße entweder der von Ihnen definierten Größe für die SQL Server-Modelldatenbank oder 500 MB für die .mdf-Datei und 125 MB für die .ldf-Datei – je nachdem, welcher Wert größer ist. Sowohl die .mdf-Dateien als auch die .ldf-Dateien werden im SQL Server-Standardverzeichnis auf dem Datenbankserver erstellt. Geben Sie der Datenbank nicht den Namen "sde".

Wenn das Werkzeug die Datenbank in PostgreSQL erstellt, wird die Datenbank template1 als Vorlage für Ihre Datenbank verwendet. Wenn Sie eine andere Vorlage benötigen, beispielsweise eine für PostGIS aktivierte Vorlage, müssen Sie die Datenbank vor der Ausführung dieses Werkzeugs erstellen und den Namen der vorhandenen Datenbank angeben. Verwenden Sie immer Kleinbuchstaben für den Datenbanknamen. Großbuchstaben werden vom Werkzeug in Kleinbuchstaben konvertiert.

String
Betriebssystemauthentifizierung
(optional)

Gibt den Authentifizierungstyp an, der für die Datenbankverbindung verwendet wird.

  • Aktiviert: Die Betriebssystemauthentifizierung wird verwendet. Die Anmeldeinformationen, die Sie bei der Ausführung des Werkzeugs für den Computer angeben, werden auch zum Authentifizieren der Datenbankverbindung verwendet. Wenn das Datenbankmanagementsystem keine Betriebssystemauthentifizierung zulässt, schlägt die Authentifizierung fehl.
  • Deaktiviert: Die Datenbankauthentifizierung wird verwendet. Sie müssen zur Authentifizierung an der Datenbank einen gültigen Datenbankbenutzernamen und ein Kennwort angeben. Dies ist die Standardeinstellung. Wenn das Datenbankmanagementsystem keine Datenbankauthentifizierung zulässt, schlägt die Authentifizierung fehl.

Boolean
Datenbankadministrator
(optional)

Geben Sie einen Datenbankadministrator-Benutzer an, wenn Sie die Datenbankauthentifizierung verwenden. Verwenden Sie für Oracle den sys-Benutzer. Geben Sie für PostgreSQL einen Benutzer mit Superuser-Status an. Geben Sie für SQL Server ein Mitglied der festgelegten Serverrolle "sysadmin" an.

String
Datenbankadministratorkennwort
(optional)

Wenn Sie die Datenbankauthentifizierung verwenden, geben Sie das Kennwort des Datenbankadministrators an.

Encrypted String
SDE-Schema
(optional)

Dieser Parameter ist nur für SQL Server aktiv. Er gibt an, ob die Geodatabase im Schema des SDE-Benutzers oder im DBO-Schema der Datenbank erstellt werden soll. .

  • Aktiviert: Die Geodatabase wird im Schema des SDE-Benutzers erstellt.
  • Deaktiviert: Sie müssen als Benutzer "DBO" in der SQL Server-Instanz angemeldet sein. Die Geodatabase wird dann im DBO-Schema der Datenbank erstellt.

Boolean
Geodatabase-Administrator
(optional)

Der Name des Geodatabase-Administratorbenutzers.

Wenn Sie PostgreSQL verwenden, muss dieser Wert sde lauten. Wenn die Anmelderolle sde nicht vorhanden ist, wird sie über dieses Werkzeug erstellt und der Rolle wird der Superuser-Status im Datenbank-Cluster zugewiesen. Wenn die Anmelderolle sde bereits vorhanden ist, wird ihr über dieses Werkzeug der Superuser-Status zugewiesen (sofern noch nicht erfolgt). Das Werkzeug erstellt außerdem ein SDE-Schema in der Datenbank und gewährt der Öffentlichkeit Zugriff auf das neue Schema.

Wenn Sie Oracle verwenden, ist der Standardwert sde. Wenn der Benutzer sde nicht in der Oracle-Datenbank vorhanden ist, erstellt das Werkzeug den Benutzer und weist ihm die erforderlichen Berechtigungen zu, um eine Geodatabase zu erstellen und zu aktualisieren sowie um die Verbindung von Benutzern mit der Datenbank zu trennen. Wenn dieses Werkzeug in einer Oracle-Datenbank der Version 12c oder höher ausgeführt wird, gewährt das Werkzeug auch Berechtigungen zum Ausführen von Datenimporten mit Oracle Data Pump. Wenn der SDE-Benutzer vorhanden ist, weist ihm das Werkzeug die gleichen Berechtigungen zu.

Hinweis:

Das Erstellen von Benutzerschema-Geodatabases oder deren Upgrade wird nicht mehr in Oracle unterstützt.

Wenn Sie SQL Server verwenden und eine SDE-Schema-Geodatabase angegeben haben, muss dieser Wert sde lauten. Das Werkzeug erstellt eine sde-Anmeldung, einen Datenbankbenutzer sowie ein Schema und erteilt Berechtigungen zum Erstellen einer Geodatabase und Entfernen von Verbindungen mit einer SQL Server-Instanz. Wenn Sie ein DBO-Schema angegeben haben, geben Sie keinen Wert für diesen Parameter an.

String
Geodatabase-Administratorkennwort
(optional)

Das Kennwort für den Geodatabase-Administratorbenutzer. Wenn der Geodatabase-Administratorbenutzer im Datenbankmanagementsystem vorhanden ist, muss das angegebene Kennwort mit dem vorhandenen Kennwort übereinstimmen. Ist der Geodatabase-Administratorbenutzer nicht vorhanden, geben Sie ein gültiges Datenbankkennwort für den neuen Benutzer an. Das Kennwort muss der Kennwortrichtlinie der Datenbank entsprechen.

Das Kennwort ist eine verschlüsselte Zeichenfolge.

Encrypted String
Tablespace-Name
(optional)

Der Name des Tablespace.

Dieser Parameter ist nur für die Datenbankmanagementsystem-Typen Oracle und PostgreSQL gültig. Führen Sie für Oracle einen der folgenden Vorgänge aus:

  • Geben Sie den Namen eines vorhandenen Tablespace an. Dieser Tablespace wird für den Geodatabase-Administrator-Benutzer als Standard-Tablespace verwendet.
  • Geben Sie einen gültigen Namen für den neuen Tablespace an. Das Werkzeug erstellt einen Tablespace von 400 MB im Standardspeicherort von Oracle und legt ihn als Standard-Tablespace für den Geodatabase-Administrator fest.
  • Lassen Sie den Tablespace leer. Das Werkzeug erstellt einen 400-MB-Tablespace namens SDE_TBS im Standardspeicherverzeichnis von Oracle. Der Tablespace SDE_TBS wird als Standard-Tablespace für den Geodatabase-Administrator festgelegt.

Dieses Werkzeug erstellt keinen Tablespace in PostgreSQL. Sie müssen den Namen eines vorhandenen Tablespace angeben, der als Standard-Tablespace der Datenbank verwendet wird, oder diesen Parameter leer lassen. Wenn Sie diesen Parameter leer lassen, erstellt das Werkzeug eine Datenbank im Tablespace "pg_default".

String
Autorisierungsdatei

Pfad und Dateiname der Keycode-Datei, die beim Autorisieren von ArcGIS Server erstellt wurde. Diese Datei befindet sich unter Windows im Verzeichnis \\Program Files\ESRI\License<release#>\sysgen bzw. unter Linux im Verzeichnis /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen. Autorisieren Sie ggf. ArcGIS Server, um diese Datei zu erstellen.

Wahrscheinlich müssen Sie die Schlüsselcode-Datei vom ArcGIS Server-Computer an einen Ort kopieren, auf den das Werkzeug zugreifen kann.

File
Räumlicher Datentyp
(optional)

Gibt den zu verwendenden räumlichen Datentyp an. Dies betrifft nur PostgreSQL-Datenbanken.

  • ST_GeometryEs wird der räumliche Datentyp "ST_Geometry" verwendet. Dies ist die Standardeinstellung.
  • POSTGISEs wird der räumliche Datentyp PostGIS verwendet.
String

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Enterprise-Geodatabase erfolgreich erstellt

Gibt an, ob die Enterprise-Geodatabase erfolgreich erstellt wurde.

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})
NameErläuterungDatentyp
database_platform

Gibt den Typ des Datenbankmanagementsystems an, mit dem zum Erstellen einer Geodatabase eine Verbindung hergestellt wird.

  • OracleEs wird eine Verbindung mit einer Oracle-Instanz hergestellt.
  • PostgreSQLEs wird eine Verbindung mit einem PostgreSQL-Datenbank-Cluster hergestellt.
  • SQL_ServerEs wird eine Verbindung mit einer Microsoft SQL Server-Instanz hergestellt.
String
instance_name

Der Name der Instanz.

Geben Sie für SQL Server den Namen der SQL Server-Instanz an. SQL Server-Instanzen, bei denen die Groß-/Kleinschreibung beachtet werden muss bzw. die eine BINARY-Sortierung aufweisen, werden nicht unterstützt.

Für Oracle müssen Sie entweder den TNS-Namen oder die Oracle Easy Connection-Zeichenfolge angeben.

Geben Sie für PostgreSQL den Namen des Servers an, auf dem PostgreSQL installiert ist.

String
database_name
(optional)

Der Name der Datenbank.

Dieser Parameter ist für PostgreSQL und SQL Server gültig. Sie können den Namen einer vorhandenen, vorkonfigurierten Datenbank oder einen Namen für eine Datenbank angeben, die das Werkzeug erstellt.

Wenn Sie die Datenbank mithilfe des Werkzeugs in SQL Server erstellen, entspricht die Dateigröße entweder der von Ihnen definierten Größe für die SQL Server-Modelldatenbank oder 500 MB für die .mdf-Datei und 125 MB für die .ldf-Datei – je nachdem, welcher Wert größer ist. Sowohl die .mdf-Dateien als auch die .ldf-Dateien werden im SQL Server-Standardverzeichnis auf dem Datenbankserver erstellt. Geben Sie der Datenbank nicht den Namen "sde".

Wenn das Werkzeug die Datenbank in PostgreSQL erstellt, wird die Datenbank template1 als Vorlage für Ihre Datenbank verwendet. Wenn Sie eine andere Vorlage benötigen, beispielsweise eine für PostGIS aktivierte Vorlage, müssen Sie die Datenbank vor der Ausführung dieses Werkzeugs erstellen und den Namen der vorhandenen Datenbank angeben. Verwenden Sie immer Kleinbuchstaben für den Datenbanknamen. Großbuchstaben werden vom Werkzeug in Kleinbuchstaben konvertiert.

String
account_authentication
(optional)

Gibt den Authentifizierungstyp an, der für die Datenbankverbindung verwendet wird.

  • OPERATING_SYSTEM_AUTHDie Betriebssystemauthentifizierung wird verwendet. Die Anmeldeinformationen, die Sie bei der Ausführung des Werkzeugs für den Computer angeben, werden auch zum Authentifizieren der Datenbankverbindung verwendet.Wenn das Datenbankmanagementsystem keine Betriebssystemauthentifizierung zulässt, schlägt die Authentifizierung fehl.
  • DATABASE_AUTHDie Datenbankauthentifizierung wird verwendet. Sie müssen zur Authentifizierung an der Datenbank einen gültigen Datenbankbenutzernamen und ein Kennwort angeben. Dies ist die Standardeinstellung.Wenn das Datenbankmanagementsystem keine Datenbankauthentifizierung zulässt, schlägt die Authentifizierung fehl.
Boolean
database_admin
(optional)

Geben Sie einen Datenbankadministrator-Benutzer an, wenn Sie die Datenbankauthentifizierung verwenden. Verwenden Sie für Oracle den sys-Benutzer. Geben Sie für PostgreSQL einen Benutzer mit Superuser-Status an. Geben Sie für SQL Server ein Mitglied der festgelegten Serverrolle "sysadmin" an.

String
database_admin_password
(optional)

Wenn Sie die Datenbankauthentifizierung verwenden, geben Sie das Kennwort des Datenbankadministrators an.

Encrypted String
sde_schema
(optional)

Dieser Parameter ist nur für SQL Server relevant. Er gibt an, ob die Geodatabase im Schema eines Benutzers mit dem Namen sde oder im DBO-Schema der Datenbank erstellt werden soll. Wenn Sie eine DBO-Schema-Geodatabase erstellen, stellen Sie die Verbindung als Benutzer "dbo" in der SQL Server-Instanz her.

  • SDE_SCHEMADas Geodatabase-Repository ist im Besitz eines Benutzers mit dem Namen sde und wird in dessen Schema gespeichert. Dies ist die Standardeinstellung.
  • DBO_SCHEMADas Geodatabase-Repository wird im DBO-Schema in der Datenbank gespeichert.
Boolean
gdb_admin_name
(optional)

Der Name des Geodatabase-Administratorbenutzers.

Wenn Sie PostgreSQL verwenden, muss dieser Wert sde lauten. Wenn die Anmelderolle sde nicht vorhanden ist, wird sie über dieses Werkzeug erstellt und der Rolle wird der Superuser-Status im Datenbank-Cluster zugewiesen. Wenn die Anmelderolle sde bereits vorhanden ist, wird ihr über dieses Werkzeug der Superuser-Status zugewiesen (sofern noch nicht erfolgt). Das Werkzeug erstellt außerdem ein SDE-Schema in der Datenbank und gewährt der Öffentlichkeit Zugriff auf das neue Schema.

Wenn Sie Oracle verwenden, ist der Standardwert sde. Wenn der Benutzer sde nicht in der Oracle-Datenbank vorhanden ist, erstellt das Werkzeug den Benutzer und weist ihm die erforderlichen Berechtigungen zu, um eine Geodatabase zu erstellen und zu aktualisieren sowie um die Verbindung von Benutzern mit der Datenbank zu trennen. Wenn dieses Werkzeug in einer Oracle-Datenbank der Version 12c oder höher ausgeführt wird, gewährt das Werkzeug auch Berechtigungen zum Ausführen von Datenimporten mit Oracle Data Pump. Wenn der SDE-Benutzer vorhanden ist, weist ihm das Werkzeug die gleichen Berechtigungen zu.

Hinweis:

Das Erstellen von Benutzerschema-Geodatabases oder deren Upgrade wird nicht mehr in Oracle unterstützt.

Wenn Sie SQL Server verwenden und eine SDE-Schema-Geodatabase angegeben haben, muss dieser Wert sde lauten. Das Werkzeug erstellt eine sde-Anmeldung, einen Datenbankbenutzer sowie ein Schema und erteilt Berechtigungen zum Erstellen einer Geodatabase und Entfernen von Verbindungen mit einer SQL Server-Instanz. Wenn Sie ein DBO-Schema angegeben haben, geben Sie keinen Wert für diesen Parameter an.

String
gdb_admin_password
(optional)

Das Kennwort für den Geodatabase-Administratorbenutzer. Wenn der Geodatabase-Administratorbenutzer im Datenbankmanagementsystem vorhanden ist, muss das angegebene Kennwort mit dem vorhandenen Kennwort übereinstimmen. Ist der Geodatabase-Administratorbenutzer nicht vorhanden, geben Sie ein gültiges Datenbankkennwort für den neuen Benutzer an. Das Kennwort muss der Kennwortrichtlinie der Datenbank entsprechen.

Das Kennwort ist eine verschlüsselte Zeichenfolge.

Encrypted String
tablespace_name
(optional)

Der Name des Tablespace.

Dieser Parameter ist nur für die Datenbankmanagementsystem-Typen Oracle und PostgreSQL gültig. Führen Sie für Oracle einen der folgenden Vorgänge aus:

  • Geben Sie den Namen eines vorhandenen Tablespace an. Dieser Tablespace wird für den Geodatabase-Administrator-Benutzer als Standard-Tablespace verwendet.
  • Geben Sie einen gültigen Namen für den neuen Tablespace an. Das Werkzeug erstellt einen Tablespace von 400 MB im Standardspeicherort von Oracle und legt ihn als Standard-Tablespace für den Geodatabase-Administrator fest.
  • Lassen Sie den Tablespace leer. Das Werkzeug erstellt einen 400-MB-Tablespace namens SDE_TBS im Standardspeicherverzeichnis von Oracle. Der Tablespace SDE_TBS wird als Standard-Tablespace für den Geodatabase-Administrator festgelegt.

Dieses Werkzeug erstellt keinen Tablespace in PostgreSQL. Sie müssen den Namen eines vorhandenen Tablespace angeben, der als Standard-Tablespace der Datenbank verwendet wird, oder diesen Parameter leer lassen. Wenn Sie diesen Parameter leer lassen, erstellt das Werkzeug eine Datenbank im Tablespace "pg_default".

String
authorization_file

Pfad und Dateiname der Keycode-Datei, die beim Autorisieren von ArcGIS Server erstellt wurde. Diese Datei befindet sich unter Windows im Verzeichnis \\Program Files\ESRI\License<release#>\sysgen bzw. unter Linux im Verzeichnis /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen. Autorisieren Sie ggf. ArcGIS Server, um diese Datei zu erstellen.

Wahrscheinlich müssen Sie die Schlüsselcode-Datei vom ArcGIS Server-Computer an einen Ort kopieren, auf den das Werkzeug zugreifen kann.

File
spatial_type
(optional)

Gibt den zu verwendenden räumlichen Datentyp an. Dies betrifft nur PostgreSQL-Datenbanken.

  • ST_GEOMETRYEs wird der räumliche Datentyp "ST_Geometry" verwendet. Dies ist die Standardeinstellung.
  • POSTGISEs wird der räumliche Datentyp PostGIS verwendet.
String

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_result

Gibt an, ob die Enterprise-Geodatabase erfolgreich erstellt wurde.

Boolean

Codebeispiel

CreateEnterpriseGeodatabase – Beispiel 1 (Python-Fenster)

Das folgende Skript erstellt eine Geodatabase in einer Oracle-Datenbank.

Es erstellt einen SDE-Benutzer und den Standard-Tablespace "sdetbs" für den SDE-Benutzer.

Die Keycode-Datei befindet sich auf einem Linux-Remote-Server.

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", 
    "manager", "", "sde", "supersecret", "sdetbs", 
    "//myserver/mymounteddrive/myaccessibledirectory/keycodes")
CreateEnterpriseGeodatabase – Beispiel 2 (Python-Fenster)

Dieses Skript stellt eine Verbindung mit einer SQL Server-Instanz (tor\ssinstance) her, um die Datenbank "sp_data" und darin eine SDE-Schema-Geodatabase zu erstellen.

Die Verbindung wird unter Verwendung der Betriebssystemauthentifizierung hergestellt. Die Keycode-Datei befindet sich auf einem Windows-Remote-Server.

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", 
    "SDE_SCHEMA", "sde", "sde", "", "//myserver/myaccessibledirectory/keycodes")
CreateEnterpriseGeodatabase – Beispiel 3 (Python-Fenster)

Dieses Skript stellt eine Verbindung mit einem PostgreSQL-Datenbank-Cluster auf dem Server "feldspar" her.

In dem vorhandenen Tablespace "gdbspace" werden ein SDE-Benutzer und die Datenbank "pggdb" erstellt.

Die Keycode-Datei befindet sich auf einem lokalen Linux-Server.

Die Geodatabase verwendet den räumlichen Datentyp "ST_Geometry".

import arcpy
arcpy.CreateEnterpriseGeodatabase_management(
    "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")
CreateEnterpriseGeodatabase – Beispiel 4 (eigenständiges Skript)

Mit dem folgenden eigenständigen Python-Skript können Sie spezifische Informationen für Ihre Site über Optionen angeben.

"""
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.CreateEnterpriseGeodatabase_management(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)

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Nein
  • Standard: Erfordert J
  • Advanced: Erfordert J

Verwandte Themen