When I try to diagnose a problem like this I usually start, as V has already suggested, by looking through the logs. There should be some information in the SDE logfiles, but it can sometimes be had to find.Failing any answers there, I move on to running a Oracle validation procedure on the source table. The error codes returned are Oracle errors, so to look them up you can use Google, Oracle doc, however you would normally. SQL> SELECT A.ObjectID, SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(A.SHAPE, M.diminfo) AS PROBLEM
2 FROM SDO_TEST A,USER_SDO_GEOM_METADATA M
3 WHERE M.table_name = 'SDO_TEST'
4 AND M.column_name = 'SHAPE'
5 AND SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(A.SHAPE, M.diminfo) <> 'TRUE';
OBJECTID
----------
PROBLEM
--------------------------------------------------------------------------------
20
13356 [Element <1>] [Coordinate <3>][Ring <2>]
22
13343 [Element <1>] [Ring <2>]
23
13349 [Element <1>] [Ring <1>][Edge <3>][Edge <1>]
Then, I'll run SDELayer -o feature_info ... -r invalid. This will tell me what rows are invalid from SDE�??s point of view. The rows that are returned will have SDE errors, but the actual error maybe incorrect. Also, there isn�??t always a 1:1 correlation between the invalid geometries returned by Oracle and those returned by SDE (rows 20 and 21 for example). sdelayer -o feature_info -l SDO_TEST,shape -u map -i 5151 -s test -r invalid
ArcSDE 10.0 for Oracle11g Build 685 Fri May 14 12:05:43 2010
Layer Administration Utility
-----------------------------------------------------
Row Id,FID,Entity Type,Annotation,Cad Data,Number of Points,Number of Parts,Number of Subparts,Self-Touching Rings,Minim
um Precision,Verification
21,21,A,F,F,8,0,0,F,Basic,-150
22,22,A,F,F,8,0,0,F,Basic,-148
23,23,A,F,F,5,1,1,F,Basic,-152
Total rows examined: 20
Total invalid shapes: 3
You can look the actual errors up using the online documentation (here is the 9.3 version - http://edndoc.esri.com/arcsde/9.3/api/capi/returncodes_incl.htm) or you can use SDELayer -o list -v OID for the row you are investigating. Unlike SDELayer -o feature_info, -o list should return the correct error code. sdelayer -o list -l SDO_TEST,shape -u map -i 5151 -s test -v 23
ArcSDE 10.0 for Oracle11g Build 685 Fri May 14 12:05:43 2010
Layer Administration Utility
-----------------------------------------------------
Error: Polygon shell has no area (-152).
Error: Cannot fetch row for layer
At this point, to get the feature class to draw without errors, you will either have to fix or remove the rows you have found. I would suggest trying to fix the problem, but that is sometimes easier said then done. Let us know how it goes.