ArcGIS for Desktop

  • Documentation
  • Tarification
  • Support

  • My Profile
  • Aide
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS for Desktop

Un SIG professionnel complet

ArcGIS for Server

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
  • Tarification
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

Aide

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

Mettre à niveau la géodatabase

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

Récapitulatif

Mise à niveau d'une géodatabase vers la dernière version d'ArcGIS pour tirer profit des nouvelles fonctionnalités.

La version actuelle d'ArcGIS for Desktop ou d'ArcGIS for Server doit être installée sur l'ordinateur à partir duquel la mise à niveau sera lancée. Pour les géodatabases d'entreprise, vous devez vous connecter directement à la géodatabase à mettre à niveau. Vous ne pouvez pas vous connecter via un service ArcSDE.

Utilisation

  • L'outil Mettre à niveau la géodatabase accepte une géodatabase personnelle, une géodatabase fichier ou un fichier de connexion .sde en entrée.

  • Vous ne pouvez pas mettre à niveau les géodatabases de bureau, de groupe de travail ou d'entreprise à partir d'ArcGIS for Desktop Basic.

  • Avant de mettre à niveau votre géodatabase d'entreprise, vérifiez que vous avez suivi les étapes préparatoires requises pour le système de gestion de base de données que vous utilisez, notamment la création d'une sauvegarde de la base de données.

    • Mettre à niveau une géodatabase dans DB2
    • Mettre à niveau une géodatabase dans Informix
    • Mettre à niveau une géodatabase dans Oracle
    • Mettre à niveau une géodatabase dans PostgreSQL
    • Mettre à niveau une géodatabase dans SQL Server

  • Pour connaître la version de la géodatabase, cliquez avec le bouton droit de la souris sur la géodatabase dans l'arborescence du Catalogue, puis sélectionnez Propriétés. La section Etat de la mise à niveau de l'onglet Application affiche la version ArcGIS de la géodatabase et indique si votre géodatabase peut être mise à niveau vers la version ArcGIS la plus récente.
  • Vous devez sélectionner au moins le paramètre Exécuter une recherche de prérequis ou le paramètre Mettre à niveau la géodatabase, ou même les deux. Si aucun des paramètres n'est activé, le système génère une erreur.
  • Esri recommande d'effectuer le contrôle préalable avant de mettre à niveau la géodatabase afin de savoir si la géodatabase est prête pour une mise à niveau. Si l'un de ces prérequis n'est pas satisfait, l'outil enregistre une erreur dans la fenêtre Résultats et ne met pas à niveau la géodatabase. Cette manière de faire vous évite de lancer la mise à niveau et de constater au final qu'elle n'a pas abouti parce qu'un prérequis n'est pas satisfaisant. Si tous les contrôles échouent, vous devez résoudre le problème et relancer le processus de mise à niveau.
  • Les mises à niveau des versions bêta de la géodatabase ne sont pas prises en charge.
  • L'option Exécuter une recherche de prérequis exécute différents contrôles pour chaque type de géodatabase. Pour les géodatabases personnelles et fichier, l'option détermine si l'une des conditions suivantes est vraie :
    • La géodatabase est en lecture seule.
    • Il n'y a pas d'autres utilisateurs connectés à la géodatabase.
    • La connexion courante ne modifie pas les données dans la géodatabase.
    • Toutes les informations contenues dans les tables système de la géodatabase courante peuvent être ouvertes.
    • Pour les géodatabases de bureau, de groupe de travail et d'entreprise, l'option détermine si les critères suivants sont respectés :
      • L'utilisateur connecté a les privilèges appropriés pour la mise à niveau.
      • L'utilisateur connecté ne modifie pas les données dans la géodatabase.
      • Aucun autre utilisateur n'est connecté à la géodatabase.
      • La base de données peut prendre en charge les types de données XML.
      • Toutes les informations contenues dans les tables système de la géodatabase courante peuvent être ouvertes.
      • Dans le cas des géodatabases d'entreprise dans PostgreSQL et Oracle, les contrôles déterminent si la bibliothèque ST_Geometry contenue dans l'emplacement de la base de données est la bibliothèque courante.
      • Dans le cas des géodatabases d'entreprise dans la structure d'un utilisateur dans Oracle, les contrôles déterminent si la géodatabase principale est mise à niveau.

Syntaxe

UpgradeGDB_management (input_workspace, input_prerequisite_check, input_upgradegdb_check)
ParamètreExplicationType de données
input_workspace

Spécifiez la géodatabase à mettre à niveau. Lorsque vous mettez à niveau une géodatabase de bureau, de groupe de travail ou d'entreprise, spécifiez un fichier de connexion à une base de données (.sde) qui établit la connexion à la géodatabase en tant qu'administrateur de la géodatabase.

Workspace
input_prerequisite_check

Spécifiez si le contrôle préalable est exécuté avant de mettre à niveau la géodatabase.

  • NO_ PREREQUISITE_CHECK —Le contrôle préalable n'est pas exécuté.
  • PREREQUISITE_CHECK —Le contrôle préalable est exécuté. Il s'agit de l'option par défaut.
Boolean
input_upgradegdb_check

Spécifiez si la géodatabase doit être mise à niveau ou non.

  • NO_UPGRADE —La mise à niveau n'est pas exécutée.
  • UPGRADE —La mise à niveau est exécutée. Il s'agit de l'option par défaut.
Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil UpgradeGeodatabase (fenêtre Python)

Le script de fenêtre Python suivant illustre l'utilisation de la fonction UpgradeGDB en mode immédiat pour mettre à niveau une géodatabase fichier :

import arcpy
Output_Workspace = "C:/temp/Default.gdb"
Default_gdb = "C:/temp/Default.gdb"
arcpy.UpgradeGDB_management(Default_gdb, "PREREQUISITE_CHECK", "UPGRADE")
Exemple 2 d'utilisation de l'outil UpgradeGeodatabase (script autonome pour la géodatabase fichier)

Le script Python autonome suivant montre comment utiliser la fonction UpgradeGDB dans le script Python pour mettre à niveau une géodatabase fichier :

# Description: upgrade a geodatabase
 
# Import arcpy module
import arcpy

# Local variables:
Output_Workspace = "C:/temp/Default.gdb"
Default_gdb = "C:/temp/Default.gdb"

# Process: Upgrade Geodatabase
arcpy.UpgradeGDB_management(Default_gdb, "PREREQUISITE_CHECK", "UPGRADE")
Exemple 3 d'utilisation de l'outil UpgradeGeodatabase (script autonome à l'aide d'un fichier de connexion .sde)

Le script Python autonome suivant montre comment utiliser la fonction UpgradeGDB dans le script Python pour mettre à niveau une géodatabase d'entreprise à l'aide d'un fichier de connexion .sde existant :

# Description: upgrade a geodatabase

# Import arcpy module
import arcpy

# Local variables:
Output_Workspace = "C:/connections/gdbconnection.sde"
Default_gdb = "C:/connections/gdbconnection.sde"

# Process: Upgrade Geodatabase
arcpy.UpgradeGDB_management(Default_gdb, "PREREQUISITE_CHECK", "UPGRADE")
Exemple d'utilisation n°4 de l'outil UpgradeGeodatabase (script autonome pour une géodatabase d'entreprise)

Le script Python autonome suivant montre comment utiliser la fonction UpgradeGDB dans le script Python pour mettre à niveau une géodatabase d'entreprise :

"""
Name: upgrade_gdb.py
Description: Provide connection information to an Enterprise geodatabase 
and upgrade the geodatabase
Type upgrade_gdb.py -h or upgrade_gdb.py --help for usage
Author: Esri
"""

# Import system modules
import arcpy, os, optparse, sys


# Define usage and version
parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 1.0 for " + arcpy.GetInstallInfo()['Version'] )

#Define help and options
parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS',''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, or POSTGRESQL.")
parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
parser.add_option ("--auth", dest="account_authentication", type ="choice", choices=['DATABASE_AUTH', 'OPERATING_SYSTEM_AUTH'], default='DATABASE_AUTH', help="Authentication type options (case-sensitive):  DATABASE_AUTH, OPERATING_SYSTEM_AUTH.  Default=DATABASE_AUTH")
parser.add_option ("-u", dest="User", type="string", default="", help="Geodatabase administrator user name")
parser.add_option ("-p", dest="Password", type="string", default="", help="Geodatabase administrator password")
parser.add_option ("--upgrade", dest="Upgrade", type="choice", choices=['TRUE', 'FALSE'], default="FALSE", help="Upgrade Options (case-sensitive):  TRUE=Perform Pre-requisite check and upgrade geodatabase, FALSE=Perform Pre-requisite check only.  Default=FALSE")                   
parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")


# 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 to upgrade
	account_authentication = options.account_authentication.upper()
	username = options.User.lower() 
	password = options.Password	
	do_upgrade = options.Upgrade
	database = options.Database.lower()
	database_type = options.Database_type.upper()
	instance = options.Instance
	
	if (database_type == ""):
		print "\nDatabase type must be specified!\n"
		parser.print_help()
		sys.exit(3)
	
	if (database_type == "SQLSERVER"):
		database_type = "SQL_SERVER"
	
	# Get the current product license
	product_license=arcpy.ProductInfo()
	
	# Checks required license level to upgrade
	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
		print "\n" + product_license + " license found!" + "  Enterprise geodatabase upgrade 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 upgrading.")
	else:
		print "\n" + product_license + " license available!  Continuing to upgrade..."
		arcpy.AddMessage("+++++++++")
	
	# Local variables
	instance_temp = instance.replace("\\","_")
	instance_temp = instance_temp.replace("/","_")
	instance_temp = instance_temp.replace(":","_")
	Conn_File_NameT = instance_temp + "_" + database + "_" + username     
	
	if os.environ.get("TEMP") == None:
		temp = "c:\\temp"	
	else:
		temp = os.environ.get("TEMP")
	
	if os.environ.get("TMP") == None:
		temp = "/usr/tmp"		
	else:
		temp = os.environ.get("TMP")  
	
	Connection_File_Name = Conn_File_NameT + ".sde"
	Connection_File_Name_full_path = temp + os.sep + Conn_File_NameT + ".sde"
	
	# Check for the .sde file and delete it if present
	arcpy.env.overwriteOutput=True
	if os.path.exists(Connection_File_Name_full_path):
		os.remove(Connection_File_Name_full_path)
	
	print "\nCreating Database Connection File...\n"	
	# Process: Create Database Connection File...
	# Usage:  out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true)
	arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE")
        for i in range(arcpy.GetMessageCount()):
		if "000565" in arcpy.GetMessage(i):   #Check if database connection was successful
			arcpy.AddReturnMessage(i)
			arcpy.AddMessage("\n+++++++++")
			arcpy.AddMessage("Exiting!!")
			arcpy.AddMessage("+++++++++\n")
			sys.exit(3)            
		else:
			arcpy.AddReturnMessage(i)
			arcpy.AddMessage("+++++++++\n")
			
	# Check whether geodatabase needs upgrade
	isCurrent = arcpy.Describe(Connection_File_Name_full_path).currentRelease
	
	if isCurrent == True:
		print "The geodatabase is already at the current release and cannot be upgraded!"
		sys.exit("Upgrade did not run.")
	
	
	# Process: Upgrade geodatabase...
	try:
		if do_upgrade.lower() == "true":
			print "Upgrading Geodatabase...\n"
			arcpy.UpgradeGDB_management(input_workspace=Connection_File_Name_full_path, input_prerequisite_check="PREREQUISITE_CHECK", input_upgradegdb_check="UPGRADE")
			for i in range(arcpy.GetMessageCount()):
				arcpy.AddReturnMessage(i)
			arcpy.AddMessage("+++++++++\n")
	
		else:
			print "Running Pre-Requisite Check...\n"
			arcpy.UpgradeGDB_management(input_workspace=Connection_File_Name_full_path, input_prerequisite_check="PREREQUISITE_CHECK", input_upgradegdb_check="NO_UPGRADE")
			for i in range(arcpy.GetMessageCount()):
				arcpy.AddReturnMessage(i)
			arcpy.AddMessage("+++++++++\n")
		
	        
	except:
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
		
	if os.path.exists(Connection_File_Name_full_path):
		os.remove(Connection_File_Name_full_path)
	
#Check if no value entered for option	
except SystemExit as e:
	if e.code == 2:
		parser.usage = ""
		print "\n"
		parser.print_help()
		parser.exit(2)

Environnements

  • Espace de travail courant

Informations de licence

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

Thèmes connexes

  • Vue d'ensemble du jeu d'outils Administration de la géodatabase
Vous avez un commentaire à formuler concernant cette rubrique ?

ArcGIS for Desktop

  • Accueil
  • Documentation
  • Tarification
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • 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
© Copyright 2016 Environmental Systems Research Institute, Inc. | Confidentialité | Légal