Select to view content in your preferred language

ArcSDE Feature Class -Report

2816
5
03-05-2014 10:57 PM
StefanSteenekamp
Emerging Contributor
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
Deactivated User
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
Honored Contributor
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
Honored Contributor
An update - You can use ArcGIS Diagrammer. [ATTACH=CONFIG]31974[/ATTACH]
0 Kudos
WilliamCraft
MVP Alum
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 Alum
There is also the ArcGIS X-Ray tool that can report and manipulate geodatabase structure:

X-Ray for ArcCatalog (ArcGIS 10.2)
0 Kudos