Matthew,
You are spot on… so if a user has access to two different oracle tables of the same name via different schemas things break. this seems like a bug ? should the admin tool be prefixing the oracle layers as “GeoserverDatastore.OracleSchema.Tablename” instead of just “GeoserverDatastore.Tablename” ?
-ivan
From: geoserver-devel-admin@anonymised.comrge.net@anonymised.com On Behalf Of Matthew White <mgwhite@…25…>
Sent: Wednesday, 1 March 2006 11:12 PM
To: Ivan Price; geoserver-devel@lists.sourceforge.net
Subject: Re: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer
Ivan,
I believe that I may have seen his before, or at least something like it. From what I remember, the duplicate attribute error resulted from having two instances of the same table in Oracle owned by different schemas and the user connecting from GeoServer having access to both. For example, if two users have the same table defined and the user configured for GeoServer has the DBA Oracle role defined, the user will be able to see both tables and the error may occur. I could be completely incorrect as this being the problem, but I thought I would pass it along just in case it was. It should be easy to test by just changing the Oracle permissions in the user connecting from GeoServer.
Regards,
Matt
Matthew White
mgwhite@anonymised.com…25…
Ivan Price Ivan.Price@anonymised.com wrote:
Hi there,
we’re getting the following stack trace when trying to add a layer from
an Oracle Spatial 10g server.
other oracle layers from this database are working fine, but a decent
number … are giving this error.
running geoserver 1.3.0 on windows 2000…
Version of JVM: Sun Microsystems Inc. : 1.4.2; Apache Tomcat/4.1.27
any ideas ?
cheers,
-ivan
Ivan Price
Spatial Systems Manager
Northern Territory Land Information System
Department of Planning and Infrastructure
Northern Territory Government
Tel: (08) 8924 4024
Fax: (08) 8924 4045
Email: ivan.price@anonymised.com
SQL> describe cadastre;
Name Null? Type
LAISKEY NOT NULL CHAR(15)
LOCATION VARCHAR2(3)
LTOCODE CHAR(5)
PARCEL VARCHAR2(5)
PART_PARCEL CHAR(2)
PARCEL_TYPE CHAR(20)
AREA_M2 NUMBER(20)
ST_NUMBER NUMBER(10)
ST_PART CHAR(20)
ST_NAME VARCHAR2(20)
ST_TYPE CHAR(4)
ST_SUBURB VARCHAR2(20)
SURVEY VARCHAR2(10)
TEN_REF_TYPE CHAR(4)
TEN_REF_NUM NUMBER(20)
TEN_STATUS CHAR(1)
TEN_VOL_TYPE CHAR(4)
TEN_VOLUME NUMBER(20)
TEN_FOLIO NUMBER(20)
TP_ZONE CHAR(6)
GEOMETRY MDSYS.SDO_GEOMETRY
STATUS_CODE CHAR(1)
PFI NOT NULL NUMBER(8)
UFI NOT NULL NUMBER(10)
FEAT_NAME CHAR(8)
SQL>
javax.servlet.ServletException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.apache.struts.action.RequestProcessor.processException(RequestProces
sor.java:545)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:486)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)
root cause
java.lang.IllegalArgumentException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.geotools.feature.FeatureTypeBuilder.check(FeatureTypeBuilder.java:60
2)
at
org.geotools.feature.FeatureTypeBuilder.addType(FeatureTypeBuilder.java:
349)
at
org.geotools.feature.FeatureTypeBuilder.addTypes(FeatureTypeBuilder.java
:329)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:219)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:169)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:248)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:264)
at
org.geotools.data.jdbc.JDBC1DataStore.buildSchema(JDBC1DataStore.java:11
71)
at
org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureType
Handler.java:200)
at
org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.j
ava:168)
at
org.geotools.data.jdbc.JDBC1DataStore.getSchema(JDBC1DataStore.java:388)
at
org.vfny.geoserver.action.data.DataFeatureTypesNewAction.execute(DataFea
tureTypesNewAction.java:86)
at
org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
[http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642](http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642)
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
Yahoo! Mail
Bring photos to life! New PhotoMail << File: http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=39174/*http://photomail.mail.yahoo.com >> makes sharing a breeze.