ArcGIS Desktop

  • Documentation
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Créer la géodatabase d'entreprise

  • Résumé
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Résumé

L'outil Créer la géodatabase d'entreprise crée une base de données, des emplacements de stockage et un utilisateur de base de données qui doit agir comme administrateur et propriétaire de la géodatabase. Les fonctionnalités varient selon le système de gestion de base de données utilisé. L'outil accorde à l'administrateur de géodatabase les privilèges requis pour créer une géodatabase, puis crée une géodatabase dans la base de données.

Utilisation

  • Le tableau suivant indique les actions possibles de l'outil pour chaque type de système de gestion de base de données (SGBD) :

    FonctionSGBD

    Crée une base de données

    PostgreSQL et Microsoft SQL Server

    Crée un tablespace

    Oracle

    Crée un administrateur de géodatabase dans la base de données

    Oracle, PostgreSQL et SQL Server

    Notez que l'outil crée uniquement un utilisateur dans SQL Server si vous créez une géodatabase de structure sde.

    Accorde à l'administrateur de la géodatabase les privilèges requis pour créer une géodatabase, la mettre à niveau et mettre fin aux connexions à la base de données.

    Oracle et PostgreSQL

    Accorde à l'administrateur de la géodatabase les privilèges requis pour créer une géodatabase et mettre fin aux connexions à la base de données.

    SQL Server (pour la création d'une géodatabase de structure sde)

    Accorde à l'administrateur de géodatabase les privilèges requis pour importer des données avec l'utilitaire Oracle Data Pump

    Oracle 12c

    Crée une géodatabase dans la base de données spécifiée

    Oracle, PostgreSQL et SQL Server

  • ArcGIS for Desktop (Standard ou Advanced), ArcGIS Engine Runtime avec l'extension Geodatabase Update ou ArcGIS for Server (Standard ou Advanced) doit être installé sur l'ordinateur à partir duquel vous allez créer la géodatabase. Si vous utilisez Oracle ou SQL Server, vous devez également installer et configurer un client de système de gestion de base de données sur l'ordinateur où le client ArcGIS est installé.

  • Vous devez configurer la bibliothèque st_geometry avant de créer une géodatabase dans Oracle. Reportez-vous à la rubrique Configurer une géodatabase dans Oracle pour en savoir plus.

  • Vous devez placer la bibliothèque st_geometry.dll sur le serveur PostgreSQL avant de créer une géodatabase dans PostgreSQL. Reportez-vous à la rubrique Configurer une géodatabase dans PostgreSQL sous Linux ou Configurer une géodatabase dans PostgreSQL sous Windows pour en savoir plus.

Syntaxe

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)
ParamètreExplicationType de données
database_platform
[database_platform,...]

Spécifiez le type de système de gestion de bases de données auquel vous allez vous connecter pour créer une géodatabase.

  • Oracle —Indique que vous vous connectez à une instance Oracle
  • PostgreSQL —Indique que vous vous connectez à un cluster de bases de données PostgreSQL
  • SQL_Server —Indique que vous vous connectez à une instance Microsoft SQL Server
String
instance_name

Pour SQL Server, fournissez le nom d'instance SQL Server. Notez que les instances SQL Server de classement sensible à la casse ou de regroupement de type binaire ne sont pas prises en charge.

Pour Oracle, indiquez le nom TNS ou la chaîne Easy Connect d'Oracle.

Pour PostgreSQL, entrez le nom du serveur sur lequel PostgreSQL est installé.

String
database_name
(Facultatif)

Ce paramètre est valide pour PostgreSQL et SQL Server. Vous pouvez saisir le nom d'une base de données préconfigurée existante ou saisir le nom d'une base de données que l'outil va créer.

Si vous laissez l'outil créer la base de données dans SQL Server, les tailles de fichier seront soit celles que vous avez définies pour la base de données du modèle SQL Server, soit 500 Mo pour le fichier MDF et 125 Mo pour le fichier LDF, selon celle qui est la plus importante. Les fichiers MDF et LDF sont créés à l'emplacement par défaut de SQL Server sur le serveur de base de données.

Si vous laissez l'outil créer la base de données dans PostgreSQL, la base de données template1 est utilisée comme modèle pour votre base de données. Utilisez des minuscules pour le nom de la base de données.

String
account_authentication
(Facultatif)

Spécifiez le type d'authentification à utiliser pour la connexion à une base de données.

  • OPERATING_SYSTEM_AUTH —Les informations d'ouverture de session que vous avez fournies pour l'ordinateur sur lequel vous exécutez l'outil sont utilisées pour authentifier votre connexion à une base de données. Si votre SGBD n'est pas configuré de manière à permettre l'authentification du système d'exploitation, l'authentification échoue.
  • DATABASE_AUTH —Vous devez fournir un nom d'utilisateur et un mot de passe valides pour l'authentification dans la base de données. Il s'agit de la méthode d'authentification par défaut. Si votre SGBD n'est pas configuré de manière à permettre l'authentification de la base de données, l'authentification échoue.
Boolean
database_admin
(Facultatif)

Si vous utilisez l'authentification de base de données, spécifiez un administrateur de base de données. Pour Oracle, faites appel à l'utilisateur sys. Pour PostgreSQL, spécifiez un utilisateur doté du statut d'utilisateur avancé. Pour SQL Server, spécifiez un membre du rôle de serveur fixe sysadmin.

String
database_admin_password
(Facultatif)

Si vous utilisez l'authentification de base de données, saisissez le mot de passe de l'administrateur de base de données.

Encrypted String
sde_schema
(Facultatif)

Ce paramètre est valable uniquement dans SQL Server et indique si la géodatabase doit être créée dans la structure d'un utilisateur nommé sde ou dans le schéma dbo de la base de données. Si vous créez une géodatabase de schéma dbo, connectez-vous en tant qu'utilisateur dbo dans l'instance SQL Server.

  • SDE_SCHEMA —Le référentiel de géodatabase est détenu par et stocké dans la structure d'un utilisateur nommé sde. Il s'agit de l'option par défaut.
  • DBO_SCHEMA —Le référentiel de géodatabase est stocké dans le schéma dbo de la base de données.
Boolean
gdb_admin_name
(Facultatif)

Si vous utilisez PostgreSQL, cette valeur doit être sde. Si le rôle de connexion sde n'existe pas, cet outil le crée et lui accorde le statut d'utilisateur avancé dans la grappe de bases de données. Si le rôle de connexion sde existe, cet outil lui accorde le statut d'utilisateur avancé s'il ne le détient pas déjà. L'outil crée également une structure sde dans la base de données et accorde des privilèges d'utilisation sur la structure au groupe public.

Si vous utilisez Oracle, la valeur par défaut est sde. Pour créer une géodatabase de structure utilisateur à l'intérieur d'une géodatabase sde principale existante, spécifiez le nom de l'utilisateur qui détiendra la nouvelle géodatabase. Si l'utilisateur sde ou un autre utilisateur n'existe pas dans le SGBD, l'outil Créer la géodatabase d'entreprise le crée et lui accorde les privilèges requis pour créer et mettre à niveau une géodatabase, puis mettre fin aux connexions utilisateur au SGBD. Si vous exécutez cet outil dans une base de données Oracle 12c, l'outil accorde également des privilèges pour autoriser l'importation de données avec l'utilitaire Oracle Data Pump. Si l'utilisateur spécifié existe déjà, l'outil lui accorde les mêmes privilèges.

Si vous utilisez SQL Server et avez spécifié une géodatabase de structure sde, cette valeur doit être sde. Cet outil crée une connexion sde, un utilisateur de base de données et une structure, puis accorde des privilèges pour créer une base de données et mettre fin aux connexions à l'instance SQL Server. Si vous avez spécifié un schéma dbo, n'indiquez aucune valeur pour ce paramètre.

String
gdb_admin_password
(Facultatif)

Fournissez le mot de passe de l'administrateur de géodatabase. Si l'administrateur de géodatabase existe déjà dans le SGBD, le mot de passe que vous saisissez doit correspondre au mot de passe existant. Si l'administrateur de géodatabase n'existe pas encore, entrez un mot de passe de base de données valide pour le nouvel utilisateur. Le mot de passe doit être conforme aux règles de mot de passe mis en place par votre SGBD.

Ce mot de passe est une chaîne chiffrée par géotraitement.

Encrypted String
tablespace_name
(Facultatif)

Ce paramètre est valide uniquement pour les types de SGBD Oracle et PostgreSQL. Pour Oracle, procédez de l'une des façons suivantes :

  • Indiquez le nom d'un espace disque logique existant. Il sera utilisé comme espace disque logique par défaut de l'administrateur de géodatabase.
  • Attribuez un nom valide au nouvel espace disque logique. L'outil crée un espace disque logique de 400 Mo soit créé dans l'emplacement de stockage par défaut d'Oracle et le définit comme espace disque logique par défaut de l'administrateur de géodatabase.
  • Si vous n'indiquez pas d'espace disque logique, l'outil crée un espace disque logique de 400 Mo nommé SDE_TBS dans l'emplacement de stockage par défaut d'Oracle. L'espace disque logique SDE_TBS est défini comme espace disque logique par défaut de l'administrateur de géodatabase.

Cet outil ne crée pas d'espace de table dans PostgreSQL. Vous devez spécifier le nom d'un espace disque logique à utiliser comme espace disque logique par défaut de la base de données ou laisser ce paramètre vierge. Si vous laissez le paramètre vierge, l'outil crée une base de données dans l'espace disque logique pg_default.

String
authorization_file

Indique le chemin et le nom du fichier de codes clés créé lorsque vous avez autorisé ArcGIS for Server Enterprise. Ce fichier figure dans le dossier \\Program Files\ESRI\License<release#>\sysgen sous Windows ou dans le répertoire /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen sous Linux. Si vous ne l'avez pas déjà fait, autorisez ArcGIS for Server à créer ce fichier.

File

Exemple de code

Exemple 1 d'utilisation de l'outil CreateGeodatabase

Le script suivant crée une géodatabase dans une base de données Oracle. Il crée un utilisateur sde et un tablespace par défaut, sdetbs, pour l'utilisateur sde. Le fichier de codes clés se trouve sur un serveur Linux distant.

#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")
Exemple 2 d'utilisation de l'outil CreateGeodatabase

Ce script se connecte à une instance SQL Server (tor\ssinstance) pour créer une base de données nommée sp_data et une géodatabase de schéma sde à l'intérieur. La connexion s'établit à l'aide de l'authentification du système d'exploitation. Le fichier de codes clés se trouve sur un serveur Windows distant.

#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")
Exemple 3 d'utilisation de l'outil CreateGeodatabase

Ce script se connecte à un cluster de bases de données PostgreSQL sur un serveur nommé feldspath. Un utilisateur sde est créé tout comme une base de données, pggdb, dans le tablespace existant, gdbspace. Le fichier de codes clés se trouve sur un serveur Linux local.

#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")
Script autonome CreateGeodatabase

Le script Python autonome suivant vous permet de fournir des informations spécifiques à votre site à l'aide d'options.

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

Environnements

Cet outil n'utilise aucun environnement de géotraitement

Informations de licence

  • ArcGIS Desktop Basic: Non
  • ArcGIS Desktop Standard: Oui
  • ArcGIS Desktop Advanced: Oui

Rubriques connexes

  • Configurer une géodatabase dans Oracle
  • Configurer une géodatabase dans PostgreSQL sous Linux
  • Configurer une géodatabase dans PostgreSQL sous Windows
  • Définir une géodatabase d'entreprise dans SQL Server
  • Vue d'ensemble du jeu d'outils Administration de la géodatabase

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

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

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog des initiés
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal