ArcSDE Feature Class -Report

2485
5
03-05-2014 10:57 PM
StefanSteenekamp
New Contributor II
Hi,

I am looking for a tool (ArcGIS 10.2) to create a database report of all feature classes within multiple SDE databases.
Something similar to Database Reporter in ArcGIS 9.

Regards,
Stefan
Stefan.Steenekamp@capetown.gov.za
0 Kudos
5 Replies
EmadAl-Mousa
Occasional Contributor III
i am personally not aware of a tool.

however you can use python script: http://resources.arcgis.com/en/help/main/10.2/index.html#//018v00000018000000

and you can use modelbuilder for automation.
0 Kudos
NidhinKarthikeyan
Occasional Contributor III
To further add on to what Emad said,

You can refer this Technical Article:
HowTo:  Print the list of feature classes for an ArcSDE geodatabase.
0 Kudos
NidhinKarthikeyan
Occasional Contributor III
An update - You can use ArcGIS Diagrammer. [ATTACH=CONFIG]31974[/ATTACH]
0 Kudos
WilliamCraft
MVP Regular Contributor
Why not just query the geodatabases directly with SQL if you have the credentials for the SDE user?  Here's an example of a query that can be used for an Oracle database (tested with 11.2.0.2.0 and ArcSDE 10.2.1):

SELECT r.OWNER, r.TABLE_NAME,
CASE
    WHEN r.OBJECT_FLAGS IN ('3','11','2051','4099','0','24583','8195') THEN 'TABLE'
    WHEN r.OBJECT_FLAGS IN ('7','15','16391','16399','114693','114703') THEN 'FEATURE CLASS'
    WHEN r.OBJECT_FLAGS IN ('71') THEN 'RASTER'
END OBJECT_FLAGS
FROM (
SELECT OWNER, TABLE_NAME, OBJECT_FLAGS
FROM SDE.TABLE_REGISTRY
ORDER BY OWNER, TABLE_NAME) r
FULL JOIN SDE.LAYERS l ON l.OWNER = r.owner AND l.TABLE_NAME = r.TABLE_NAME;


You would run the query above in every database to get a report of the object classes that are registered with the geodatabase.  It will identify whether the object class is a table, feature class, or raster.  If you want to get fancy and you have Oracle, you can create DB links and UNION multiple queries together (one for each database) in order to run it against all databases at once. 

The query above would only require minor edits to work with SQL Server, as well.  If you databases are all in the same instance, you could UNION multiple queries together just like with Oracle... except with SQL Server there are no DB links.  Instead, you'd simply need to qualify your table references in the query above with DATABASE.SCHEMA.TABLE_NAME syntax.
0 Kudos
MarcoBoeringa
MVP Regular Contributor
There is also the ArcGIS X-Ray tool that can report and manipulate geodatabase structure:

X-Ray for ArcCatalog (ArcGIS 10.2)
0 Kudos