DBMS table not found (-37)

8581
12
09-04-2012 01:33 AM
AntonGonak
New Contributor
When I trying to create a view with the following syntax:

sdetable -o create_view -T DPSTR_GIS.CONS_SHP_LAND_V -t DPSTR_GIS.CONS_SHP_LAND,DPSTR_GIS.CONS_LAND -c DPSTR_GIS.CONS_SHP_LAND.OBJECTID,DPSTR_GIS.CONS_SHP_LAND.SHAPE,DPSTR_GIS.CONS_SHP_LAND.NSI_ID,DPSTR_GIS.CONS_LAND.CAD_NUM,DPSTR_GIS.CONS_LAND.ALLOW_USE,DPSTR_GIS.CONS_LAND.LAND_CAT,DPSTR_GIS.CONS_LAND.DEN_AREA,DPSTR_GIS.CONS_LAND.LOCATION_O,DPSTR_GIS.CONS_LAND.TYPE_LAW,DPSTR_GIS.CONS_LAND.TYPE_RIGHT -w "DPSTR_GIS.CONS_SHP_LAND.NSI_ID = DPSTR_GIS.CONS_LAND.NSI_ID" -i 5151 -s arcinfo.sibsac -u dpstr_gis -p dpstr_g

The below generates the following error:

ArcSDE 9.2  for Oracle10g Build 775 Fri Sep 17 10:45:27  2010
Attribute        Administration Utility
-----------------------------------------------------
        Error: DBMS table not found (-37).
Error: Unable to create view DPSTR_GIS.CONS_SHP_LAND_V

But if I convert the script to the query it is executed without error. Example:

Select
DPSTR_GIS.CONS_SHP_LAND.OBJECTID,DPSTR_GIS.CONS_SHP_LAND.SHAPE,DPSTR_GIS.CONS_SHP_LAND.NSI_ID,DPSTR_GIS.CONS_LAND.CAD_NUM,DPSTR_GIS.CONS_LAND.ALLOW_USE,DPSTR_GIS.CONS_LAND.LAND_CAT,DPSTR_GIS.CONS_LAND.DEN_AREA,DPSTR_GIS.CONS_LAND.LOCATION_O,DPSTR_GIS.CONS_LAND.TYPE_LAW,DPSTR_GIS.CONS_LAND.TYPE_RIGHT
from DPSTR_GIS.CONS_SHP_LAND,DPSTR_GIS.CONS_LAND
where DPSTR_GIS.CONS_SHP_LAND.NSI_ID = DPSTR_GIS.CONS_LAND.NSI_ID;
0 Kudos
12 Replies
JuhoVainio
Occasional Contributor

sdelayer -o register doesn't work in this case because the view doesn't have a spatial column. From the docs: "Registers with ArcSDE a table having a spatial column".

0 Kudos
VinceAngelo
Esri Esteemed Contributor

If the view doesn't have a spatial column then there isn't any need to use any ArcSDE command-line utilities on it for any reason.  'sdetable -o create_view' exists exclusively for the creation of spatial views against layers with SDEBINARY/SDELOB geometry storage.  All other views should be constructed using database tools (or database tool wrappers, like Create Database View (Data Management)‌).  Spatial views constructed with SQL against ST_GEOMETRY or native geometry columns must be registered with ArcSDE before they can be used from ArcGIS for Desktop as simple feature classes (as opposed to Query Layers, which do not require registration).  Views cannot be registered with the geodatabases as full feature classes because that requires an SDE-set registered rowid column, and views can only have USER-set rowids.

- V

0 Kudos
JuhoVainio
Occasional Contributor

If I don't register the view using the sdetable command, then I cannot publish the view in the ArcGIS server and query the data using the ObjectID column. Now that I've "tricked" the SDE into believing that my view is an SDE table, I can successfully query the data from the view using ArcGIS server.

0 Kudos