Vous pouvez directement interroger la table système de version de la géodatabase dans la base de données avec SQL pour déterminer la version de la géodatabase. Cette méthode vous permet également de déterminer la version de ArcGIS Pro utilisée pour créer ou mettre à niveau la géodatabase.
Si vous n’avez pas besoin de connaître la version de ArcGIS Pro et que vous souhaitez interroger les informations XML afin de connaître la version de la géodatabase, vous pouvez aussi procéder de la sorte.
Interroger la table de version
Pour déterminer la version de la géodatabase, utilisez SQL pour interroger la table de version (sde_version dans Microsoft SQL Server et PostgreSQL).
Les numéros de version sont stockés dans plusieurs champs de la table de version. Cette table contient des versions majeures et mineures, des versions de résolutions de bogues, ainsi que des champs qui stockent la version complète de la géodatabase.
La version majeure correspond à la version majeure de la géodatabase. La version mineure est indiquée par le nombre situé à droite du point (.) dans la version ArcGIS. La version de résolution de bogues augmente si vous avez installé un service pack ou un correctif ayant entraîné des modifications dans la structure de la géodatabase ou si vous avez installé une résolution de bogues. Par exemple, dans 10.6.1, 10 correspond à la version majeure, 6 à la version mineure et 1 à la résolution de bogues.
Si vous créez ou mettez à niveau la géodatabase depuis ArcGIS Pro, le champ de description affiche une concaténation des versions majeure, mineure et de résolution de bogues, ainsi que la version ArcGIS Pro à partir de laquelle vous avez créé ou mis à niveau la géodatabase. Si vous ne créez pas, ni ne mettez à niveau la géodatabase depuis ArcGIS Pro, le champ de description comporte des zéros à la place du numéro de version ArcGIS Pro.
Pour rechercher la version complète de la géodatabase, interrogez la colonne description de la table de version.
-- Queries an sde-schema geodatabase in SQL Server
-- Returns the geodatabase release from the sde_version table.
SELECT Description AS "Geodatabase release"
FROM sde.sde_version
-- Queries a geodatabase in PostgreSQL
-- Returns the geodatabase release from the sde_version table.
SELECT description AS "Geodatabase release"
FROM sde.sde_version;
-- Queries a geodatabase in Oracle
-- Returns the geodatabase release from the version table.
SELECT DESCRIPTION AS "Geodatabase release"
FROM sde.version;
Interroger un document XML pour déterminer la version de la géodatabase
Vous pouvez extraire les valeurs de numéro de version à partir d’un document XML pour déterminer la version d’une géodatabase donnée.
Les numéros de version sont stockés sous la forme de versions majeure, mineure et de résolution de bogues. En XML, La version majeure est un code numérique qui correspond à la version majeure de la géodatabase. ArcGIS 8 a été la première version à inclure les fonctions de la géodatabase ArcGIS ; ArcGIS 8 correspond donc à la version majeure 1. ArcGIS 9 correspond à la version majeure 2 et ArcGIS 10 correspond à la version majeure 3.
La version mineure est indiquée par le nombre situé à droite du point (.) dans la version ArcGIS. Par exemple, dans 10.6, le numéro de version mineure est 6.
La version de résolution de bogues augmente si vous avez installé un service pack ou un correctif ayant entraîné des modifications dans la structure de la géodatabase ou si vous avez installé une résolution de bogues. Par exemple, dans 10.6.1, le numéro de version de résolution de bogues est 1.
Les requêtes suivantes extraient les numéros de version majeure, mineure et de résolution de bogues d’une géodatabase :
-- Queries a dbo-schema geodatabase in SQL Server
-- Gets the geodatabase release from the workspace catalog item.
SELECT
Definition.value('(/DEWorkspace/MajorVersion)[1]', 'smallint') AS "Major version",
Definition.value('(/DEWorkspace/MinorVersion)[1]', 'smallint') AS "Minor version",
Definition.value('(/DEWorkspace/BugfixVersion)[1]', 'smallint') AS "Bug fix version"
FROM
dbo.gdb_items AS items INNER JOIN
(SELECT UUID
FROM dbo.gdb_itemtypes
WHERE Name = 'Workspace') AS itemtypes
ON items.Type = itemtypes.UUID
-- Queries PostgreSQL
-- Gets the geodatabase release from the workspace catalog item.
SELECT (xpath('//MajorVersion/text()',definition))::text as "Major version", (xpath('//MinorVersion/text()',definition))::text as "Minor version", (xpath('//BugfixVersion/text()',definition))::text as "Bug fix version"
FROM sde.gdb_items AS items INNER JOIN (SELECT uuid FROM sde.gdb_itemtypes WHERE name = 'Workspace') AS itemtypes
ON items.type = itemtypes.uuid;
-- Queries Oracle
-- Gets the geodatabase release from the workspace catalog item.
SELECT
EXTRACTVALUE(XMLType(Definition), '/DEWorkspace/MajorVersion') AS "Major version",
EXTRACTVALUE(XMLType(Definition), '/DEWorkspace/MinorVersion') AS "Minor version",
EXTRACTVALUE(XMLType(Definition), '/DEWorkspace/BugfixVersion') AS "Bug fix version"
FROM
sde.gdb_items_vw items INNER JOIN
(SELECT UUID
FROM sde.gdb_itemtypes
WHERE Name = 'Workspace') itemtypes
ON items.Type = itemtypes.UUID;