Ejemplo: Buscar la versión de geodatabase con SQL
Puede extraer los valores de los números de versión de un documento XML específico utilizando una expresión XPath para descubrir la versión de la geodatabase.
Los números de versión se almacenan como versiones principales, menores y de corrección de errores. La versión principal corresponde a la versión principal de la geodatabase. ArcGIS 8 fue la primera versión que incluyó la funcionalidad de geodatabase de ArcGIS; por lo tanto, ArcGIS 8 corresponde a la versión principal 1. ArcGIS 9 corresponde a la versión principal 2 y ArcGIS 10 corresponde a la versión principal 3.
La versión menor se indica con el número a la derecha del punto (.) en la versión de ArcGIS. Por ejemplo, el número de la versión menor para 9.3 era 3.
La versión de corrección de errores sólo aumenta si instaló un service pack, un parche o una corrección urgente que produjo cambios en el esquema de la geodatabase. En general, tales cambios se evitan en los service packs, los parches y las correcciones urgentes, de modo que la versión de corrección de errores suele ser 0.
Las siguientes consultas recuperan los números de versión principal, menor y de corrección de errores de una geodatabase:
-- 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;