After loading a feature class using ArcGIS Catalog 9.3 and ArcSDE 9.3,
I tried to add the new feature type using GeoServer 1.6.5.
When selecting generate on the web page for Bounding Box I get the following
error from ArcSDE:
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] ENVP_fromclause:
MAPDATA.LIB_108_HYDRO_AQUEDCTL a
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] ENVP_sqlstmt: SELECT
MIN(a.SHAPE.minx), MIN(a.SHAPE.miny), MAX(a.SHAPE.maxx), MAX(a.SHAPE.maxy),
MIN(a.SHAPE.minz), MAX(a.SHAPE.maxz) FROM MAPDATA.LIB_108_HYDRO_AQUEDCTL a
where and a.SHAPE.entity != 0 and a.SHAPE.numpts != 0
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] S_exec_get_envelope() Fetch
Error (936)
Looks like the SQL statement is not correct, "where and a.SHAPE.entity !=
0"
I get the following exception from GeoServer:
GeoServer - Exception
The following exception was thrown:
* class org.geotools.arcsde.ArcSdeException: [SDE error -51][Error
desc=DATABASE LEVEL ERROR OCCURRED.][Extended desc= ]
* class com.esri.sde.sdk.client.SeException:
Details:
org.geotools.arcsde.ArcSdeException: [SDE error -51][Error desc=DATABASE
LEVEL ERROR OCCURRED.][Extended desc=
] at
org.geotools.arcsde.pool.Session.issue(Lorg/geotools/arcsde/pool/Command;)Ljava/lang/Object;(Session.java:261)
at
org.geotools.arcsde.data.ArcSDEQuery.calculateQueryExtent()Lcom/vividsolutions/jts/geom/Envelope;(ArcSDEQuery.java:662)
at
org.geotools.arcsde.data.ArcSDEQuery.calculateQueryExtent(Lorg/geotools/arcsde/pool/ISession;Lorg/geotools/arcsde/data/FeatureTypeInfo;Lorg/geotools/data/Query;Lorg/geotools/arcsde/data/versioning/ArcSdeVersionHandler;)Lcom/vividsolutions/jts/geom/Envelope;(ArcSDEQuery.java:571)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds(Lorg/geotools/data/Query;Lorg/geotools/arcsde/pool/ISession;)Lorg/geotools/geometry/jts/ReferencedEnvelope;(ArcSdeFeatureSource.java:149)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds(Lorg/geotools/data/Query;)Lcom/vividsolutions/jts/geom/Envelope;(ArcSdeFeatureSource.java:127)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds()Lcom/vividsolutions/jts/geom/Envelope;(ArcSdeFeatureSource.java:114)
at
org.geoserver.feature.FeatureSourceUtils.getBoundingBoxEnvelope(Lorg/geotools/data/FeatureSource;)Lcom/vividsolutions/jts/geom/Envelope;(FeatureSourceUtils.java:40)
at
org.vfny.geoserver.util.DataStoreUtils.getBoundingBoxEnvelope(Lorg/geotools/data/FeatureSource;)Lcom/vividsolutions/jts/geom/Envelope;(DataStoreUtils.java:277)
at org.vfny.geoserver.action.data.TypesEditorAction.executeBBox
After loading a feature class using ArcGIS Catalog 9.3 and ArcSDE 9.3,
I tried to add the new feature type using GeoServer 1.6.5.
While I cannot comment on the specific issue (never used SDE) the 1.7.0
release notes say the ArcSDE support has been improved a lot.
Maybe you can try that one?
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.
I found that the SDE API apparently puts the " and " in when there is no
where clause set in the
sqlconstruct.
So in the method public SeQueryInfo getQueryInfo in ArcSDEQuery.java
If you add the else clause to stick in a where clause that is always true
the sql generated by the
SDE API is valid.
if (where != null && where.length() > 0) {
sqlConstruct.setWhere(where);
}
// Here due to problem with sql generated
// by ESRI API
else
{
sqlConstruct.setWhere("1=1");
}
I am not sure if there is a flag that can be set that tells the SDE API to
not
add any where clause
After loading a feature class using ArcGIS Catalog 9.3 and ArcSDE 9.3,
I tried to add the new feature type using GeoServer 1.6.5.
When selecting generate on the web page for Bounding Box I get the
following error from ArcSDE:
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] ENVP_fromclause:
MAPDATA.LIB_108_HYDRO_AQUEDCTL a
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] ENVP_sqlstmt: SELECT
MIN(a.SHAPE.minx), MIN(a.SHAPE.miny), MAX(a.SHAPE.maxx),
MAX(a.SHAPE.maxy), MIN(a.SHAPE.minz), MAX(a.SHAPE.maxz) FROM
MAPDATA.LIB_108_HYDRO_AQUEDCTL a where and a.SHAPE.entity != 0 and
a.SHAPE.numpts != 0
[Tue Nov 4 09:41:54 2008] [189] [ptsubc2b9] S_exec_get_envelope() Fetch
Error (936)
Looks like the SQL statement is not correct, "where and a.SHAPE.entity
!= 0"
I get the following exception from GeoServer:
GeoServer - Exception
The following exception was thrown:
* class org.geotools.arcsde.ArcSdeException: [SDE error -51][Error
desc=DATABASE LEVEL ERROR OCCURRED.][Extended desc= ]
* class com.esri.sde.sdk.client.SeException:
Details:
org.geotools.arcsde.ArcSdeException: [SDE error -51][Error desc=DATABASE
LEVEL ERROR OCCURRED.][Extended desc=
] at
org.geotools.arcsde.pool.Session.issue(Lorg/geotools/arcsde/pool/Command;)Ljava/lang/Object;(Session.java:261)
at
org.geotools.arcsde.data.ArcSDEQuery.calculateQueryExtent()Lcom/vividsolutions/jts/geom/Envelope;(ArcSDEQuery.java:662)
at
org.geotools.arcsde.data.ArcSDEQuery.calculateQueryExtent(Lorg/geotools/arcsde/pool/ISession;Lorg/geotools/arcsde/data/FeatureTypeInfo;Lorg/geotools/data/Query;Lorg/geotools/arcsde/data/versioning/ArcSdeVersionHandler;)Lcom/vividsolutions/jts/geom/Envelope;(ArcSDEQuery.java:571)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds(Lorg/geotools/data/Query;Lorg/geotools/arcsde/pool/ISession;)Lorg/geotools/geometry/jts/ReferencedEnvelope;(ArcSdeFeatureSource.java:149)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds(Lorg/geotools/data/Query;)Lcom/vividsolutions/jts/geom/Envelope;(ArcSdeFeatureSource.java:127)
at
org.geotools.arcsde.data.ArcSdeFeatureSource.getBounds()Lcom/vividsolutions/jts/geom/Envelope;(ArcSdeFeatureSource.java:114)
at
org.geoserver.feature.FeatureSourceUtils.getBoundingBoxEnvelope(Lorg/geotools/data/FeatureSource;)Lcom/vividsolutions/jts/geom/Envelope;(FeatureSourceUtils.java:40)
at
org.vfny.geoserver.util.DataStoreUtils.getBoundingBoxEnvelope(Lorg/geotools/data/FeatureSource;)Lcom/vividsolutions/jts/geom/Envelope;(DataStoreUtils.java:277)
at org.vfny.geoserver.action.data.TypesEditorAction.executeBBox