Créer une géodatabase d’entreprise (Gestion des données)

Synthèse

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 la fonctionnalité possible de l’outil pour chaque type de système de gestion de base de données :

    FonctionBase de données

    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

    L’outil ne crée un utilisateur dans SQL Server que 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 supprimer les 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 supprimer les 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 et versions ultérieures

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

    Oracle, PostgreSQL, et SQL Server

  • ArcGIS Desktop (Standard ou Advanced), ArcGIS Pro (Standard ou Advanced), ArcGIS Engine avec l’extension Mise à jour de géodatabase, ou ArcGIS Server doit être installé sur l’ordinateur sur lequel vous souhaitez 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 bases de données sur l’ordinateur où le client ArcGIS est installé.

  • Avant de créer une géodatabase dans Oracle, vous devez télécharger le fichier DatabaseSupport.zip (Windows) ou DatabaseSupport.tar (Linux) à partir de My Esripour obtenir la bibliothèque st_shapelib (Windows) ou libst_shapelib (Linux). Placez la bibliothèque sur le serveur Oracle. Veillez à copier la bibliothèque correspondant au système d’exploitation sur lequel Oracle est installé.

  • Vous devez rendre un type spatial disponible pour la grappe de bases de données PostgreSQL avant de pouvoir créer une géodatabase. Pour utiliser le type ST_Geometry, vous devez télécharger le fichier DatabaseSupport.zip (Windows) ou DatabaseSupport.tar (Linux) depuis My Esri afin d’obtenir la bibliothèque st_geometry. Placez la bibliothèque dans le répertoire %PostgreSQL%\lib (Windows) ou $PKGLIBDIR (Linux) du serveur PostgreSQL. Veillez à copier la bibliothèque correspondant à la version de PostgreSQL que vous utilisez et au système d’exploitation sur lequel PostgreSQL est installé. Pour pouvoir utiliser un type spatial PostGIS, vous devez installer PostGIS dans la grappe de bases de données PostgreSQL.

  • Cet outil n’est pas pris en charge avec les services de base de données.

  • Une fois la géodatabase créée, vous ne pouvez pas renommer la base de données dans laquelle elle est stockée. Le nom de la base de données est stocké dans des tables de système de base de données. Il est utilisé pour qualifier complètement les noms de table et de classe d’entités. La modification du nom de la base de données avec les outils de base de données rend les données de géodatabase inaccessibles.

Paramètres

ÉtiquetteExplicationType de données
Plateforme de base de données

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

  • OracleLa connexion à une instance Oracle est établie.
  • PostgreSQLLa connexion à une grappe de bases de données PostgreSQL est établie.
  • SQL ServerLa connexion à une instance Microsoft SQL Server est établie.
String
Instance

Nom de l’instance.

Pour SQL Server, spécifiez le nom de l’instance SQL Server. Les instances SQL Server de classement sensibles à la casse ou binaires ne sont pas prises en charge.

Pour Oracle, spécifiez le nom TNS ou la chaîne Easy Connection de Oracle.

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

String
Base de données
(Facultatif)

Le nom de la base de données.

Ce paramètre est valide pour PostgreSQL et SQL Server. Vous pouvez spécifier le nom d’une base de données préconfigurée existante ou le nom d’une base de données à créer par l’outil.

Si l’outil crée la base de données dans SQL Server, les tailles de fichier sont soit celles 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, la taille la plus importante étant prise en compte. Les fichiers .mdf et .ldf sont créés dans l’emplacement SQL Server par défaut sur le serveur de base de données. Ne nommez pas la base de données sde.

Si l’outil crée la base de données dans PostgreSQL, il utilise la base de données template1 comme modèle pour votre base de données. Si vous avez besoin d’un autre modèle (par exemple, un modèle activé pour PostGIS), vous devez créer la base de données avant d’exécuter cet outil et fournir le nom de la base de données existante. Utilisez toujours des minuscules pour le nom de la base de données. Si vous utilisez des majuscules, l’outil les convertit en minuscules.

String
Authentification du système d'exploitation
(Facultatif)

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

  • Activé : l’authentification du système d’exploitation est utilisée. Les informations de connexion que vous spécifiez pour l’ordinateur sur lequel vous exécutez l’outil correspondent aux informations de connexion utilisées pour authentifier la connexion à la base de données. Si le système de gestion de bases de données n’est pas configuré de manière à permettre l’authentification du système d’exploitation, l’authentification échoue.
  • Désactivé : l’authentification de la base de données est utilisée. 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 l’option par défaut. Si le système de gestion de bases de données n’est pas configuré de manière à permettre l’authentification de la base de données, l’authentification échoue.

Boolean
Administrateur de base de données
(Facultatif)

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

String
Mot de passe de l’administrateur de base de données
(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
Schéma détenu par Sde
(Facultatif)

Ce paramètre est uniquement actif pour SQL Server et indique si la géodatabase doit être créée dans la structure de l’utilisateur nommé ou dans la structure dbo de la base de données. .

  • Option sélectionnée : la géodatabase est créée dans la structure de l'utilisateur sde.
  • Désactivé : vous devez être connecté à l’instance SQL Server en tant qu’utilisateur dbo de l’instance pour que la géodatabase soit créée dans la structure dbo de la base de données.

Boolean
Administrateur de la géodatabase
(Facultatif)

Nom de l’administrateur de la géodatabase.

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 de super-utilisateur dans le cluster de bases de données. Si le rôle de connexion sde existe, cet outil lui accorde le statut de super-utilisateur 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 est sde. Si l’utilisateur sde n’existe pas dans la base de données Oracle, l’outil le crée et lui accorde les privilèges requis pour créer et mettre à niveau une géodatabase et déconnecter des utilisateurs de la base de données. Si vous exécutez cet outil dans une base de données Oracle 12c ou version ultérieure, l’outil accorde également des privilèges pour autoriser l’importation de données à l’aide de Oracle Data Pump. Si l’utilisateur sde existe déjà, l’outil lui accorde les mêmes privilèges.

Remarque :

La création ou la mise à niveau des géodatabases de structure d’utilisateur dans Oracle n’est plus prise en charge.

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 permettant de créer une base de données et de supprimer les connexions à l’instance SQL Server. Si vous avez spécifié un schéma dbo, n'indiquez aucune valeur pour ce paramètre.

String
Mot de passe de l’administrateur de la géodatabase
(Facultatif)

Mot de passe de l'administrateur de géodatabase. Si l’administrateur de géodatabase existe déjà dans le système de gestion de base de données, le mot de passe que vous spécifiez doit correspondre au mot de passe existant. Si l’administrateur de géodatabase n’existe pas, 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 mises en place par la base de données.

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

Encrypted String
Nom de l'espace de table
(Facultatif)

Nom de l’espace disque logique.

Ce paramètre est valide uniquement pour les types de système de gestion de bases de données 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 à l’emplacement de stockage par défaut Oracle et le définit comme espace disque logique par défaut de l’administrateur de géodatabase.
  • N’indiquez pas d’espace disque logique. L’outil crée un espace disque logique de 400 Mo nommé SDE_TBS à l’emplacement de stockage par défaut 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 disque logique dans PostgreSQL. Vous devez spécifier le nom d’un espace disque logique existant à 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
Fichier d’autorisation

Chemin et nom du fichier de codes clés créé lorsque ArcGIS Server a été autorisé. Ce fichier se trouve 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 Server à créer ce fichier.

Vous devrez probablement copier le fichier de codes clés depuis l’ordinateur ArcGIS Server vers un emplacement accessible à l’outil.

File
Type spatial
(Facultatif)

Indique le type spatial utilisé. Est applicable uniquement pour les bases de données PostgreSQL.

  • ST_GeometryLe type spatial ST_Geometry est utilisé. Il s’agit de l’option par défaut.
  • POSTGISLe type spatial PostGIS est utilisé.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Création de la géodatabase d'entreprise réussie

Indique si la géodatabase d'entreprise a été correctement créée.

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})
NomExplicationType de données
database_platform

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

  • OracleLa connexion à une instance Oracle est établie.
  • PostgreSQLLa connexion à une grappe de bases de données PostgreSQL est établie.
  • SQL_ServerLa connexion à une instance Microsoft SQL Server est établie.
String
instance_name

Nom de l’instance.

Pour SQL Server, spécifiez le nom de l’instance SQL Server. Les instances SQL Server de classement sensibles à la casse ou binaires ne sont pas prises en charge.

Pour Oracle, spécifiez le nom TNS ou la chaîne Easy Connection de Oracle.

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

String
database_name
(Facultatif)

Le nom de la base de données.

Ce paramètre est valide pour PostgreSQL et SQL Server. Vous pouvez spécifier le nom d’une base de données préconfigurée existante ou le nom d’une base de données à créer par l’outil.

Si l’outil crée la base de données dans SQL Server, les tailles de fichier sont soit celles 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, la taille la plus importante étant prise en compte. Les fichiers .mdf et .ldf sont créés dans l’emplacement SQL Server par défaut sur le serveur de base de données. Ne nommez pas la base de données sde.

Si l’outil crée la base de données dans PostgreSQL, il utilise la base de données template1 comme modèle pour votre base de données. Si vous avez besoin d’un autre modèle (par exemple, un modèle activé pour PostGIS), vous devez créer la base de données avant d’exécuter cet outil et fournir le nom de la base de données existante. Utilisez toujours des minuscules pour le nom de la base de données. Si vous utilisez des majuscules, l’outil les convertit en minuscules.

String
account_authentication
(Facultatif)

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

  • OPERATING_SYSTEM_AUTHL’authentification du système d’exploitation est utilisée. Les informations de connexion que vous spécifiez pour l’ordinateur sur lequel vous exécutez l’outil correspondent aux informations de connexion utilisées pour authentifier la connexion à la base de données.Si le système de gestion de bases de données n’est pas configuré de manière à permettre l’authentification du système d’exploitation, l’authentification échoue.
  • DATABASE_AUTHL’authentification de la base de données est utilisée. 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 l’option par défaut.Si le système de gestion de bases de données 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, utilisez l’utilisateur sys. Pour PostgreSQL, spécifiez un utilisateur doté du statut de super-utilisateur. 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 uniquement valable dans SQL Server et indique si la géodatabase doit être créée dans la structure d’un utilisateur nommé sde ou dans la structure dbo de la base de données. Si vous créez une géodatabase de structure dbo, connectez-vous en tant qu’utilisateur dbo dans l’instance SQL Server.

  • SDE_SCHEMALe 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_SCHEMALe référentiel de géodatabase est stocké dans la structure dbo de la base de données.
Boolean
gdb_admin_name
(Facultatif)

Nom de l’administrateur de la géodatabase.

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 de super-utilisateur dans le cluster de bases de données. Si le rôle de connexion sde existe, cet outil lui accorde le statut de super-utilisateur 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 est sde. Si l’utilisateur sde n’existe pas dans la base de données Oracle, l’outil le crée et lui accorde les privilèges requis pour créer et mettre à niveau une géodatabase et déconnecter des utilisateurs de la base de données. Si vous exécutez cet outil dans une base de données Oracle 12c ou version ultérieure, l’outil accorde également des privilèges pour autoriser l’importation de données à l’aide de Oracle Data Pump. Si l’utilisateur sde existe déjà, l’outil lui accorde les mêmes privilèges.

Remarque :

La création ou la mise à niveau des géodatabases de structure d’utilisateur dans Oracle n’est plus prise en charge.

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 permettant de créer une base de données et de supprimer les 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)

Mot de passe de l'administrateur de géodatabase. Si l’administrateur de géodatabase existe déjà dans le système de gestion de base de données, le mot de passe que vous spécifiez doit correspondre au mot de passe existant. Si l’administrateur de géodatabase n’existe pas, 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 mises en place par la base de données.

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

Encrypted String
tablespace_name
(Facultatif)

Nom de l’espace disque logique.

Ce paramètre est valide uniquement pour les types de système de gestion de bases de données 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 à l’emplacement de stockage par défaut Oracle et le définit comme espace disque logique par défaut de l’administrateur de géodatabase.
  • N’indiquez pas d’espace disque logique. L’outil crée un espace disque logique de 400 Mo nommé SDE_TBS à l’emplacement de stockage par défaut 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 disque logique dans PostgreSQL. Vous devez spécifier le nom d’un espace disque logique existant à 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

Chemin et nom du fichier de codes clés créé lorsque ArcGIS Server a été autorisé. Ce fichier se trouve 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 Server à créer ce fichier.

Vous devrez probablement copier le fichier de codes clés depuis l’ordinateur ArcGIS Server vers un emplacement accessible à l’outil.

File
spatial_type
(Facultatif)

Indique le type spatial utilisé. Est applicable uniquement pour les bases de données PostgreSQL.

  • ST_GEOMETRYLe type spatial ST_Geometry est utilisé. Il s’agit de l’option par défaut.
  • POSTGISLe type spatial PostGIS est utilisé.
String

Sortie obtenue

NomExplicationType de données
out_result

Indique si la géodatabase d'entreprise a été correctement créée.

Boolean

Exemple de code

Exemple 1 d’utilisation de la fonction CreateEnterpriseGeodatabase (fenêtre Python)

Le script ci-après 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
arcpy.CreateEnterpriseGeodatabase_management(
    "ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", 
    "manager", "", "sde", "supersecret", "sdetbs", 
    "//myserver/mymounteddrive/myaccessibledirectory/keycodes")
Exemple 2 d’utilisation de la fonction CreateEnterpriseGeodatabase (fenêtre Python)

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 structure 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
arcpy.CreateEnterpriseGeodatabase_management(
    "SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", 
    "SDE_SCHEMA", "sde", "sde", "", "//myserver/myaccessibledirectory/keycodes")
Exemple 3 d’utilisation de la fonction CreateEnterpriseGeodatabase (fenêtre Python)

Ce script se connecte à un cluster de bases de données PostgreSQL sur un serveur nommé feldspar.

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 le serveur Linux local.

La géodatabase utilise le type spatial 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")
Exemple 4 d’utilisation de la fonction CreateEnterpriseGeodatabase (script autonome)

Le script autonome Python suivant vous permet de fournir des informations spécifiques à votre site à l’aide des 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
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.management.CreateEnterpriseGeodatabase(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)

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes