[Geoserver-devel] Oracle Spatial-UNIQUE KEY error

Sean,
  After changing the LoggingLevel to finest,these is what i could grab
from the DOS window..its not the full logging but the end part of
it..which i hope helps you.
----------------------
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

61309 [FINEST] org.geotools.factory.FactoryFinder -
findFactory(org.geotools.fe
ature.FeatureTypeFactory,org.geotools.feature.DefaultFeatureTypeFactory,WebappCl
assLoader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:C:\Tomcat\shared\classes\
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[org.apache.commons.collections,
implementationVendor=Apache Softwa
re Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Fo
undation, specificationVersion=2.1]
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

)
61309 [FINEST] org.geotools.factory.FactoryFinder - ClassLoader :
WebappClassLo
ader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:C:\Tomcat\shared\classes\
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[org.apache.commons.collections,
implementationVendor=Apache Softwa
re Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Fo
undation, specificationVersion=2.1]
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

61309 [FINEST] org.geotools.factory.FactoryFinder - Searching system
properties

61309 [FINEST] org.geotools.factory.FactoryFinder - Key
'org.geotools.feature.F
eatureTypeFactory' not found
61309 [FINEST] org.geotools.factory.FactoryFinder - Searching for
service: META
-INF/services/org.geotools.feature.FeatureTypeFactory
61309 [FINEST] org.geotools.factory.FactoryFinder - Reading Factory ,
has strea
m : false
61309 [FINEST] org.geotools.factory.FactoryFinder - Service
'META-INF/services/
org.geotools.feature.FeatureTypeFactory' not found
61309 [FINEST] org.geotools.factory.FactoryFinder - Resorting to
default
61309 [FINEST] org.geotools.factory.FactoryFinder - Creating instance
from 'org
.geotools.feature.DefaultFeatureTypeFactory'
61319 [FINEST] org.geotools.factory.FactoryFinder - Finding
ClassLoader
61329 [FINEST] org.geotools.factory.FactoryFinder - Using context
ClassLoader W
ebappClassLoader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:C:\Tomcat\shared\classes\
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[org.apache.commons.collections,
implementationVendor=Apache Softwa
re Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Fo
undation, specificationVersion=2.1]
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

61329 [FINEST] org.geotools.factory.FactoryFinder -
findFactory(org.geotools.fe
ature.FeatureTypeFactory,org.geotools.feature.DefaultFeatureTypeFactory,WebappCl
assLoader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:C:\Tomcat\shared\classes\
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[org.apache.commons.collections,
implementationVendor=Apache Softwa
re Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Fo
undation, specificationVersion=2.1]
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

)
61329 [FINEST] org.geotools.factory.FactoryFinder - ClassLoader :
WebappClassLo
ader
  available:
  delegate: false
  repositories:
    /WEB-INF/classes/
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
  delegate: true
  repositories:
    file:C:\Tomcat\shared\classes\
  required:
----------> Parent Classloader:
StandardClassLoader
  available:
    Extension[org.apache.commons.collections,
implementationVendor=Apache Softwa
re Foundation, implementationVersion=2.1, specificationVendor=Apache
Software Fo
undation, specificationVersion=2.1]
    Extension[org.apache.commons.logging, implementationVendor=Apache
Software F
oundation, implementationVersion=1.0.3, specificationVendor=Apache
Software Foun
dation, specificationVersion=1.0]
    Extension[org.apache.tools.ant, implementationVendor=Apache
Software Foundat
ion, implementationVersion=1.5.3, specificationVendor=Apache Software
Foundation
, specificationVersion=1.5.3]
  delegate: true
  repositories:
    file:C:\Tomcat\common\classes\
    file:C:\Tomcat\common\lib\jasper-runtime.jar
    file:C:\Tomcat\common\lib\jasper-compiler.jar
    file:C:\Tomcat\common\lib\commons-collections.jar
    file:C:\Tomcat\common\lib\naming-resources.jar
    file:C:\Tomcat\common\lib\naming-common.jar
    file:C:\Tomcat\common\lib\commons-logging-api.jar
    file:C:\Tomcat\common\lib\ant.jar
    file:C:\Tomcat\common\lib\servlet.jar
    file:C:\Tomcat\common\lib\naming-factory.jar
    file:C:\Tomcat\common\lib\tools.jar
  required:
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@anonymised.com

61329 [FINEST] org.geotools.factory.FactoryFinder - Searching system
properties

61329 [FINEST] org.geotools.factory.FactoryFinder - Key
'org.geotools.feature.F
eatureTypeFactory' not found
61329 [FINEST] org.geotools.factory.FactoryFinder - Searching for
service: META
-INF/services/org.geotools.feature.FeatureTypeFactory
61329 [FINEST] org.geotools.factory.FactoryFinder - Reading Factory ,
has strea
m : false
61329 [FINEST] org.geotools.factory.FactoryFinder - Service
'META-INF/services/
org.geotools.feature.FeatureTypeFactory' not found
61329 [FINEST] org.geotools.factory.FactoryFinder - Resorting to
default
61339 [FINEST] org.geotools.factory.FactoryFinder - Creating instance
from 'org
.geotools.feature.DefaultFeatureTypeFactory'
61369 [FINE]
org.geotools.data.jdbc.ConnectionPool$ConnectionListManager - Conn
ection closed - adding to available connections.
61369 [FINEST] org.vfny.geoserver.config.TypeInfo - returning name
test_ora_lay
ers
61369 [FINE] org.vfny.geoserver.responses.WfsException - >
[test_ora_layers]:
  While getting connection to datasource:
org.geotools.data.DataSourceException:
SQL Error occured when generating unique key
61369 [FINE] org.vfny.geoserver.responses.WfsException - return wfs
exception i
s <?xml version="1.0" ?>
<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc&quot;
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
   xsi:schemaLocation="http://www.opengis.net/ogc
http://localhost/geoserver/dat
a/capabilities/wfs/1.0.0/OGC-exception.xsd">
   <ServiceException locator="test_ora_layers">
      While getting connection to datasource:
org.geotools.data.DataSourceExcept
ion: SQL Error occured when generating unique key
   </ServiceException>
</ServiceExceptionReport>
----------------------

regards
Gautam

Sean Geoghegan <sean@anonymised.com> 11/29/03 03:01PM >>>

Chris,

Do you know why the nested exception is not showing up? At this point
I
really need to see the details of the nested SQLException to diagnose
the problem.

Gautam, can you maybe look in Tomcats stderr.log file to see if there
is
any more info and set the log level to FINEST aswell.

Thanks
Sean

Gautam Ganguly wrote:

hi Sean,
Sorry for replying to your mail ,a bit late.No the table did not

have

a primary key.But i added a primary key field called FID of type
number, after having read Thijs Brentjens's mail. These is the new
structure of the table after doing so:
SQL> desc test_ora_layers
Name Null? Type
----------------------------------------- --------
--------------------------
FID NOT NULL NUMBER(10)
LAYER_ID NUMBER(10)
SHAPE

MDSYS.SDO_GEOMETRY

But it didnot help much when i called :
http://localhost/geoserver/GetFeature?typename=topp:test_ora_layers

I see the same error message on my browser:
-----------------------------------------------------------
<?xml version="1.0" ?>
- <ServiceExceptionReport version="1.2.0"
xmlns="http://www.opengis.net/ogc&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://www.opengis.net/ogc
http://localhost/geoserver/data/capabilities/wfs/1.0.0/OGC-exception.xsd&quot;&gt;
<ServiceException locator="test_ora_layers">While getting

connection

to datasource: org.geotools.data.DataSourceException:
SQL Error occured when generating unique key</ServiceException>
</ServiceExceptionReport>
------------------------------------------------------------------------------------
I have the LoggingLevel still at finer,so the log on the tomcat

screen

shows the following:

193201 [FINE] org.geotools.data.oracle.OracleDataSourceFactory -
oracle
datasource factory constructed
193201 [FINER] org.geotools.data.DataSourceFinder - Oracle Spatial
Database
193201 [FINER] org.geotools.data.oracle.OracleDataSourceFactory -
canProcess
called on {table=test_ora_layers, user=userme, instance=TESTORA,
passwd=passme,
host=1.2.3.4, port=1521, dbtype=oracle}
193201 [FINE] org.geotools.data.oracle.OracleDataSourceFactory -
create ds
called in oracle
193201 [FINER] org.geotools.data.oracle.OracleDataSourceFactory -
canProcess
called on {table=test_ora_layers, user=userme, instance=TESTORA,
passwd=passme,
host=1.2.3.4, port=1521, dbtype=oracle}
193311 [FINE] org.geotools.data.jdbc.ConnectionPool - No available
connections,
creating a new one.
194603 [FINE]
org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
Connection closed - adding to available connections.
194603 [FINE] org.vfny.geoserver.responses.WfsException - >
[test_ora_layers]:
While getting connection to datasource:
org.geotools.data.DataSourceException:
SQL Error occured when generating unique key
194613 [FINE] org.vfny.geoserver.responses.WfsException - return wfs
exception
is <?xml version="1.0" ?>
<ServiceExceptionReport
  version="1.2.0"
  xmlns="http://www.opengis.net/ogc&quot;
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://www.opengis.net/ogc
http://localhost/geoserver/dat
a/capabilities/wfs/1.0.0/OGC-exception.xsd">
  <ServiceException locator="test_ora_layers">
  While getting connection to datasource:
org.geotools.data.DataSourceException:
SQL Error occured when generating unique key
  </ServiceException>
</ServiceExceptionReport>
------------------------------------------
With the new changes to the table , my schema.xml looks like these:

<xs:complexType name="test_ora_layers_Type">
   <xs:complexContent>
     <xs:extension base="gml:AbstractFeatureType">
       <xs:sequence>
         <xs:element name="fid" nillable="false" minOccurs="1"
maxOccurs="1">
           <xs:simpleType>
             <xs:restriction base="xs:integer">
               <xs:totalDigits value="10"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:element>
         <xs:element name="layer_id" nillable="true" minOccurs="0"
maxOccurs="1">
           <xs:simpleType>
             <xs:restriction base="xs:integer">
               <xs:totalDigits value="10"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:element>
         <xs:element name="shape" type="gml:PolygonPropertyType"
nillable="false" minOccurs="1" maxOccurs="1"/>
       </xs:sequence>
     </xs:extension>
   </xs:complexContent>
</xs:complexType>
-------------------------------------------
hope that helps.

regards,
gautam

Gautam Ganguly wrote:

Sean,
After changing the LoggingLevel to finest,these is what i could grab
from the DOS window..its not the full logging but the end part of
it..which i hope helps you.

Hrmm that doesnt really add any extra information. Can you send me both the stdout and stderr log files from the Tomcat logs directory?

Sean