Subscribe Now: Feed Icon

Wednesday, April 11, 2012

COMException: Abstract Data Types not supported

“Full” Exception:

System.Runtime.InteropServices.COMException: Abstract Data Types not supported [SHEMA.LAYER][STATE_ID = 0]


The real problem:

When calling:


(where workspace is IFeatureWorkspace)

with a layer that was not defined in the SDE. You will get the given error.


Why did it happen to me?

When we moved to Oracle we decided to create our tables using plain SQL and define our shape columns as SDO_GEOMETRY. This was done so other teams working on our DB on their computer won’t need to install SDE and could run Unit Tests using non geography data. Obviously we forgot to run the register command on one of our tables and I got this lovely exception…


The fix:

Registering the  layer using:

sdelayer -o register –s SERVER –u DB p PASSWORD –i SDE_INSTANCE -t SDO_GEOMETRY -e p –l  LAYER,shape -R 2 -C OBJECTID,SDE

(in red what you must change, blue should be according to your DB).


One ESRI exception mapped, an to go…