ArcGIS for Desktop

  • Dokumentation
  • Preise
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS for Desktop

Ein vollständiges professionelles GIS

ArcGIS for Server

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
  • Preise
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Enterprise-Geodatabase erstellen

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebung
  • Lizenzierungsinformationen

Zusammenfassung

Das Werkzeug Enterprise-Geodatabase erstellen erstellt eine Datenbank, Speicherorte und einen Datenbankbenutzer, der je nach verwendetem Datenbankmanagementsystem (DBMS) als Geodatabase-Administrator und Besitzer der Geodatabase verwendet wird. Es 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 Funktion das Werkzeug für die verschiedenen Typen von Datenbankmanagementsystemen hat:

    FunktionDBMS

    Erstellen einer Datenbank

    PostgreSQL und Microsoft SQL Server

    Erstellen eines Tablespace

    Oracle

    Erstellen eines Geodatabase-Administratorbenutzers in der Datenbank

    Oracle, PostgreSQL und SQL Server (wenn eine SDE-Schema-Geodatabase erstellt wird)

    Erteilt dem Geodatabase-Administrator die zum Erstellen einer Geodatabase, zum Aktualisieren einer Geodatabase und zum Beenden von Databank-Verbindungen erforderlichen Berechtigungen

    Oracle und PostgreSQL

    Erteilt dem Geodatabase-Administrator die zum Erstellen einer Geodatabase und zum Beenden von Databank-Verbindungen erforderlichen Berechtigungen

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

    Erstellen einer Geodatabase in der angegebenen Datenbank

    Oracle, PostgreSQL und SQL Server

  • Sie müssen ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine Runtime mit der Erweiterung "Geodatabase Update " oder ArcGIS for Server (Standard oder Advanced) auf dem Computer installiert haben, auf dem Sie die Geodatabase erstellen. Um die Datenbankobjekte und eine Geodatabase zu erstellen, müssen Sie eine direkte Verbindung zu der Datenbank herstellen können. Hierzu muss ein DBMS-Client auf dem Computer mit dem ArcGIS-Client installiert und konfiguriert werden.

Syntax

CreateEnterpriseGeodatabase_management (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)
ParameterErläuterungDatentyp
database_platform
[database_platform,...]

Geben Sie den Typ des Datenbankmanagementsystems an, mit dem Sie zum Erstellen einer Geodatabase eine Verbindung herstellen.

  • Oracle —Gibt an, dass Sie eine Verbindung mit einer Oracle-Instanz herstellen.
  • PostgreSQL —Gibt an, dass Sie eine Verbindung mit einem PostgreSQL-Datenbank-Cluster herstellen.
  • SQL_Server —Gibt an, dass Sie eine Verbindung mit einer SQL Server-Instanz herstellen.
String
instance_name

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

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)

Dieser Parameter ist nur gültig für DBMS vom Typ PostgreSQL und SQL Server. Geben Sie entweder den Namen einer vorhandenen, vorkonfigurierten Datenbank oder den Namen für eine neu zu erstellende Datenbank ein.

Wenn Sie über das Werkzeug eine Datenbank in SQL Server erstellen, entspricht die Dateigröße entweder der von Ihnen definierten Größe für die SQL Server-Modelldatenbank oder die MDF-Datei beträgt 500 MB und die LDF-Datei 125 MB – 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.

Wenn Sie über das Werkzeug eine Datenbank in PostgreSQL erstellen, wird die Datenbank "template1" als Vorlage für die Datenbank verwendet. Beachten Sie, dass der Datenbankname in Kleinbuchstaben an das PostgreSQL-Datenbank-Cluster übergeben wird.

String
account_authentication
(optional)

Geben Sie an, welcher Autorisierungstyp für die Datenbankverbindung verwendet werden soll.

  • OPERATING_SYSTEM_AUTH —Zur Authentifizierung der Datenbankverbindung werden die Anmeldeinformationen verwendet, die Sie bei der Anmeldung an dem Computer eingegeben haben, von dem aus Sie das Werkzeug ausführen. Wenn das DBMS keine Betriebssystemauthentifizierung zulässt, schlägt die Authentifizierung fehl.
  • DATABASE_AUTH —Sie müssen zur Authentifizierung an der Datenbank einen gültigen Datenbankbenutzernamen und ein Kennwort angeben. Hierbei handelt es sich um die Standard-Authentifizierungsmethode. Wenn das DBMS keine Datenbankauthentifizierung zulässt, schlägt die Authentifizierung fehl.
Boolean
database_admin
(optional)

Wenn Sie die Datenbankauthentifizierung verwenden, müssen Sie einen Datenbankadministrator-Benutzer angeben. Für Oracle ist der Datenbankadministrator "sys". In Postgres ist dies der Superuser "postgres". In SQL Server ist dies ein Mitglied der festgelegten Serverrolle "sysadmin".

String
database_admin_password
(optional)

Geben Sie das Kennwort für den Datenbankadministrator ein. Wenn Sie die Datenbankauthentifizierung verwenden, müssen Sie das Kennwort des Datenbankadministrator-Benutzers angeben.

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, müssen Sie die Verbindung als Benutzer "dbo" in der SQL Server-Instanz herstellen.

  • SDE_SCHEMA —Das Geodatabase-Repository ist im Besitz eines Benutzers mit demNamen "sde" und wird in dessen Schema gespeichert. Dies ist die Standardeinstellung.
  • DBO_SCHEMA —Das Geodatabase-Repository wird im DBO-Schema in der Datenbank gespeichert.
Boolean
gdb_admin_name
(optional)

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 zugewiesen. Zudem wird ein SDE-Schema in der Datenbank erstellt. Wenn die Anmelderolle "sde" bereits vorhanden ist, wird ihr über dieses Werkzeug der Superuser-Status zugewiesen (sofern noch nicht erfolgt).

Wenn Sie Oracle verwenden, ist der Standardwert "sde". Wenn Sie jedoch in einer Master-SDE-Geodatabase eine Benutzerschema-Geodatabase erstellen, müssen Sie den Namen des Benutzers angeben, der die Geodatabase besitzt. Wenn der Benutzer nicht in DBMS vorhanden ist, erstellt das Werkzeug Enterprise-Geodatabase erstellen den Benutzer und weist ihm die zum Erstellen und Aktualisieren einer Geodatabase sowie zum Beenden von DBMS-Benutzerverbindungen erforderlichen Berechtigungen zu. Wenn der Benutzer bereits vorhanden ist, weist ihm das Werkzeug die erforderlichen Berechtigungen zu.

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 Beenden 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)

Geben Sie das Kennwort für den Geodatabase-Administratorbenutzer an. Wenn der Geodatabase-Administratorbenutzer bereits im DBMS vorhanden ist, muss das eingegebene Kennwort mit dem vorhandenen Kennwort übereinstimmen. Ist der Geodatabase-Administratorbenutzer noch nicht vorhanden, geben Sie ein gültiges Datenbankkennwort für den neuen Benutzer ein. Das Kennwort muss den Kennwortrichtlinien des DBMS entsprechen.

Das Kennwort ist eine für die Geoverarbeitung verschlüsselte Zeichenfolge.

Encrypted String
tablespace_name
(optional)

Dieser Parameter ist nur gültig für DBMS vom Typ Oracle und PostgreSQL. Führen Sie für Oracle einen der folgenden Vorgänge aus:

  • Geben Sie den Namen eines vorhandenen Tablespace an, der für den Geodatabase-Administrator-Benutzer als Standard-Tablespace verwendet werden soll.
  • Geben Sie einen gültigen Namen ein. Daraufhin wird ein Tablespace von 400 MB im Standardspeicherort von Oracle erstellt und als Standard-Tablespace für den Geodatabase-Administrator festgelegt.
  • Geben Sie keinen Tablespace an. Daraufhin wird der Tablespace "SDE_TBS" (400 MB) erstellt und als Standard-Tablespace für den Geodatabase-Administrator festgelegt.

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

String
authorization_file

Geben Sie den Pfad und Dateinamen der Schlüsselcodedatei ein, die beim Autorisieren von ArcGIS for Server Enterprise erstellt wurde. Diese Datei befindet sich im Verzeichnis \\Program Files\ESRI\License<release#>\sysgen unter Windows und im Verzeichnis /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen unter Linux. Autorisieren Sie ArcGIS for Server, um diese Datei zu erstellen, sofern Sie dies nicht bereits getan haben.

File

Codebeispiel

CreateGeodatabase ‑ Beispiel 1

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 Schlüsselcodedatei befindet sich auf einem Linux-Remote-Server.

#Import arcpy module
import arcpy

arcpy.CreateEnterpriseGeodatabase_management("ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", "manager", "", "sde", "supersecret", "sdetbs", 
                                             "//myserver/mymounteddrive/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.1/sysgen/keycodes")
CreateGeodatabase ‑ Beispiel 2

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 Schlüsselcodedatei befindet sich auf einem Windows-Remote-Server.

#Import arcpy module
import arcpy

arcpy.CreateEnterpriseGeodatabase_management("SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", "SDE_SCHEMA", "sde", "sde", 
                                             "", "//myserver/Program Files/ESRI/License10.1/sysgen/keycodes")
CreateGeodatabase ‑ Beispiel 3

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 Schlüsselcodedatei befindet sich auf einem lokalen Linux-Server.

#Import arcpy module
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/License10.1/sysgen/keycodes")
CreateGeodatabase - 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
"""

# Import system modules
import arcpy
import os
import optparse
import 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', ''], 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:  Do not specify 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  applies to geodatabases in SQL Server only. Type SDE_SCHEMA to create geodatabase in SDE schema or type DBO_SCHEMA to create geodatabase in DBO schema. Default=SDE_SCHEMA")
parser.add_option ("-u", dest="Gdb_admin", type="string", default="", help="Geodatabase administrator user name; Must always be sde for PostgreSQL, sde-schema geodatabases in SQL Server, and master sde geodatabase in Oracle")
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; For PostgreSQL, type name of existing tablespace in which to store database. If no tablespace name specified, pg_default is used. For Oracle, type name of existing tablespace, or, if tablespace with specified name does not exist, it will be created and set as the default tablespace for the sde user. If no tablespace name is specified, SDE_TBS tablespace is created and set as sde user default. Tablespace name not supported for SQL Server.")
parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file; file created when ArcGIS for Server Enterprise authorized, and stored in \\Program Files\ESRI\License<release#>\sysgen on Windows or /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen on Linux")
# 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
	
	
	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( gdb_admin.lower() != "sde"):
			if (database_type == "ORACLE"):
				print("\nGeodatabase admin user is not SDE, creating user schema geodatabase on Oracle...\n")
			else:
				print("\n%s: error: %s for %s.\n" % (sys.argv[0], "Geodatabase administrator must be SDE", database_type))
				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)
		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)

Umgebung

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzierungsinformationen

  • ArcGIS for Desktop Basic: Nein
  • ArcGIS for Desktop Standard: Ja
  • ArcGIS for Desktop Advanced: Ja

Verwandte Themen

  • Überblick über das Toolset "Geodatabase-Verwaltung"
  • Einrichten einer Geodatabase in Oracle
  • Einrichten einer Geodatabase in PostgreSQL unter Linux
  • Einrichten einer Geodatabase in PostgreSQL unter Windows
  • Einrichten einer Enterprise-Geodatabase in SQL Server
Feedback zu diesem Thema?

ArcGIS for Desktop

  • Startseite
  • Dokumentation
  • Preise
  • Support

ArcGIS Plattform

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

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches