There is a problem with DefaultFIDMapperFactory.

Seems Oracle datastore uses this default factory while the method
DefaultFIDMapperFactory.isAutoIncrement(...) does not use schema parameter
in constructing of SQL query.. But in Oracle if the schema exists it must be
specified in FROM clause like "SCHEMANAME.TABLENAME", otherwise Oracle
driver throws an exception:

Caused by: java.sql.SQLException: ORA-00942: table or view does not exist

        at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
        at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
        at
oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:790)
        at
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java
:1039)
        at
oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830)
        at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:1132)
        at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1272)
        at
org.geotools.data.jdbc.fidmapper.DefaultFIDMapperFactory.isAutoIncrement(Def
aultFIDMapperFactory.java:345)



The second thing is related to the same problem. In my case schema exists
and it is successfully stored in JDBCDataStoreConfig object but it is not
passed deeper in method 
JDBC1DataStore.buildFIDMapper(String typeName, FIDMapperFactory factory)
while NULL is passed. So, the schema name does not reach
DefaultFIDMapperFactory class...

So, these two problems should be considered as a whole.

Regards, Vitali.



_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to