Migration de colonnes raster à l'aide de commandes ArcSDE
Pour modifier le type de stockage des données raster, utilisez la commande sdetable avec l'opération migrate. Les données dans la colonne block_data de la table de blocs raster (sde_blk_<id>) et la colonne d'objets de la table auxiliaire de données raster (sde_aux_<id>) sont alors converties du stockage de données LONG RAW au stockage BLOB ou du stockage BLOB au stockage ST_RASTER dans Oracle ou au stockage ST_RASTER dans PostgreSQL et SQL Server. La syntaxe est la suivante :
sdetable –o migrate –l <table,raster_column> –k <config_keyword> [–i {<service> | <direct_connection>] [–s <server>] [–D <database>] –u <user> [–p <password>] [–N]
Utilisez les options comme suit :
Options |
Description |
---|---|
–o |
Cette option indique l'opération qui est effectuée ; dans ce cas, migrate. |
–l |
Utilisez cette option pour spécifier le nom de la table contenant la colonne raster à migrer. |
–k |
Utilisez cette option pour spécifier le mot-clé de configuration de DBTUNE pour le type de stockage de données raster vers lequel vous effectuez la migration du catalogue d'images. Le mot-clé spécifié doit contenir un paramètre RASTER_STORAGE défini sur BLOB (Oracle uniquement) ou ST_RASTER. |
–i |
Utilisez cette option pour fournir la syntaxe de connexion directe, le numéro de port ou le nom du service ArcSDE que vous utilisez pour vous connecter à la géodatabase. Reportez-vous à la rubrique Connexions directes à partir de commandes ArcSDE à une géodatabase dans Oracle. |
–s |
Utilisez cette option pour spécifier le nom du serveur sur lequel réside la base de données. |
–D |
Utilisez cette option pour spécifier le nom de la base de données ou de la source de données. Cette option ne peut pas être utilisée avec les bases de données Oracle. |
–u |
Utilisez cette option pour spécifier le nom du propriétaire de la classe d'entités devant se connecter à la base de données. |
–p |
Utilisez cette option pour spécifier le mot de passe de l'utilisateur. |
–N |
Spécifiez cette option si vous souhaitez supprimer l'invite pour confirmer l'opération. |
Vous recevrez un message d'erreur lorsque vous exécutez la commande sdetable avec l'opération migrate si l'une des conditions suivantes est vérifiée :
Vous recevrez un message d'erreur lorsque vous exécutez la commande sdelayer avec l'opération migrate si l'une des conditions suivantes est vérifiée :
- L'utilisateur spécifié avec l'option –u n'est pas le propriétaire de la table.
- Le type de stockage existant du raster est identique au mot-clé DBTUNE spécifié (En d'autres termes, la table utilise déjà le type de stockage que vous avez spécifié avec le mot-clé ; par conséquent, aucune migration n'est nécessaire.)
- La table métier ne contient pas de champ d'identifiant d'objet.
- Vous essayez d'utiliser l'opération migrate dans une géodatabase ArcSDE antérieure à la version 9.2.
- Vous essayez d'utiliser la commande sdetable avec l'opération migrate dans un SGBD plutôt que dans Oracle, SQL Server ou PosgreSQL.
- Vous convertissez les données dans le type ST_Raster, alors qu'il n'est pas installé dans la base de données.
Lors de la migration de types de stockage de données dans une base de données Oracle à l'aide de l'opération migrate, un nouveau segment est créé dans la base de données vers laquelle les données sont copiées. Une fois que la migration est terminée, les métadonnées sont redirigées vers le nouveau segment et l'ancien est supprimé. Cela signifie qu'à un moment pendant la migration, il y a deux exemplaires des données. Par conséquent, la base de données doit avoir suffisamment d'espace pour stocker les deux exemplaires.
-
Créez une sauvegarde des données à migrer.
En créant une copie de sauvegarde des données que vous migrez, vous disposerez toujours des données d'origine en cas d'échec de la migration.
- Ouvrez une invite de commande DOS (Windows) ou shell (UNIX ou Linux).
-
Exécutez la commande sdetable avec l'opération migrate. Par exemple :
sdetable –o migrate –l watershed,raster –k ST_RASTER –i sde:sqlserver:mainserver\ssdb –s mainserver –D mydb –u bjar –p mine.all.mine
Veillez à spécifier un mot-clé de configuration qui contienne la valeur RASTER_STORAGE dans laquelle vous souhaitez convertir les données.