gvSIG bugs #5548

Error al añadir capas a partir de tablas de Oracle.

Added by José Olivas about 3 years ago. Updated almost 3 years ago.

Status:Closed% Done:

0%

Priority:UrgentSpent time:-
Assignee:Francisco Díaz Carsí
Category:-
Target version:2.6.0-3218
Severity:Minor Add-on version:
gvSIG version:2.6.0 Add-on build:
gvSIG build:3215 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:AYTOA 1
Has patch: Hito:Fase 01
Add-on name:Unknown

Description

Reportado por Víctor

Este error es más grave porque la capa se queda con errores. A veces se crea bien, pero al hacer zoom sale el error y otras veces me da error al añadirla. He comprobado que en la versión 2.5.1 de gvSIG también pasa.


- Can't perform operation 'ResultSetForSetProviderOperation'.
- An JDBC exception was throw when execute SQL: 'SELECT NVL2(("AA_GEOM"),("AA_GEOM").Get_WKB(),NULL) FROM "SEMCAD_GIS"."ENT_150101_ACTUAL" WHERE ( (NOT(("AA_GEOM" IS NULL))) AND ((SDO_RELATE("AA_GEOM", SDO_GEOMETRY((TO_BLOB(HEXTORAW('000000000300000001000000054124f948588ce7024150201284b70a3e4126c715ac91d14d4150201284b70a3e4126c715ac91d14d4150411d44e28f5d4124f948588ce7024150411d44e28f5d4124f948588ce7024150201284b70a3e'))), (0)), 'mask=ANYINTERACT') = 'TRUE')) )' with params {unknow}
- ORA-29902: error al ejecutar la rutina ODCIIndexStart()
  ORA-29400: error de cartucho de datos
  ORA-13282: fallo al inicializar la transformación de coordenadas
  ORA-06512: en "MDSYS.SDO_CS", línea 122
  ORA-06512: en "MDSYS.SDO_CS", línea 172
  ORA-06512: en "MDSYS.SDO_CS", línea 151
  ORA-06512: en "MDSYS.SDO_CS", línea 3285
  ORA-06512: en "MDSYS.SDO_INDEX_METHOD_10I", línea 585

org.gvsig.fmap.dal.exception.ReadException: There was errors loading from 'ENT_150101_ACTUAL'.
    at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.draw(FLyrVect.java:346)
    at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.drawLayer(DefaultMapContextDrawer.java:547)
    at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.draw(DefaultMapContextDrawer.java:528)
    at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer$DrawList.drawLayers(DefaultMapContextDrawer.java:467)
    at org.gvsig.fmap.mapcontext.impl.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:156)
    at org.gvsig.fmap.mapcontext.MapContext.draw(MapContext.java:1155)
    at org.gvsig.fmap.mapcontrol.MapControl$PaintingRequest.paint(MapControl.java:1381)
    at org.gvsig.fmap.mapcontrol.MapControl$Drawer$Worker.run(MapControl.java:1601)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.LegendDrawingException: Problems drawing layer
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.internalDraw(AbstractVectorialLegend.java:470)
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.draw(AbstractVectorialLegend.java:356)
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.draw(AbstractVectorialLegend.java:145)
    at org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect.draw(FLyrVect.java:330)
    ... 8 more
Caused by: java.lang.RuntimeException: Can't perform operation 'ResultSetForSetProviderOperation'.
    at org.gvsig.fmap.dal.store.jdbc2.spi.operations.AbstractConnectionOperation.perform(AbstractConnectionOperation.java:74)
    at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:236)
    at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:210)
    at org.gvsig.fmap.dal.store.jdbc2.impl.JDBCSetProvider.createFastIterator(JDBCSetProvider.java:51)
    at org.gvsig.fmap.dal.feature.spi.AbstractFeatureSetProvider.fastIterator(AbstractFeatureSetProvider.java:99)
    at org.gvsig.fmap.dal.feature.spi.AbstractFeatureSetProvider.fastIterator(AbstractFeatureSetProvider.java:94)
    at org.gvsig.fmap.dal.feature.impl.featureset.FastDefaultIterator.<init>(FastDefaultIterator.java:52)
    at org.gvsig.fmap.dal.feature.impl.featureset.DefaultFeatureSet.fastIterator(DefaultFeatureSet.java:393)
    at org.gvsig.fmap.dal.feature.impl.featureset.AbstractFeatureSet.doAccept(AbstractFeatureSet.java:122)
    at org.gvsig.fmap.dal.feature.impl.featureset.AbstractFeatureSet.doAccept(AbstractFeatureSet.java:117)
    at org.gvsig.tools.visitor.impl.AbstractIndexedVisitable.doAccept(AbstractIndexedVisitable.java:63)
    at org.gvsig.tools.visitor.impl.AbstractVisitable.accept(AbstractVisitable.java:49)
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.drawFeaturesSingleLayer(AbstractVectorialLegend.java:569)
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.drawFeatures(AbstractVectorialLegend.java:551)
    at org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend.internalDraw(AbstractVectorialLegend.java:462)
    ... 11 more
Caused by: org.gvsig.fmap.dal.store.jdbc.exception.JDBCExecutePreparedSQLException: An JDBC exception was throw when execute SQL: 'SELECT NVL2(("AA_GEOM"),("AA_GEOM").Get_WKB(),NULL) FROM "SEMCAD_GIS"."ENT_150101_ACTUAL" WHERE ( (NOT(("AA_GEOM" IS NULL))) AND ((SDO_RELATE("AA_GEOM", SDO_GEOMETRY((TO_BLOB(HEXTORAW('000000000300000001000000054124f948588ce7024150201284b70a3e4126c715ac91d14d4150201284b70a3e4126c715ac91d14d4150411d44e28f5d4124f948588ce7024150411d44e28f5d4124f948588ce7024150201284b70a3e'))), (0)), 'mask=ANYINTERACT') = 'TRUE')) )' with params {unknow}
    at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:216)
    at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:177)
    at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:24)
    at org.gvsig.fmap.dal.store.jdbc2.spi.operations.ResultSetForSetProviderOperation.createResultSet(ResultSetForSetProviderOperation.java:306)
    at org.gvsig.fmap.dal.store.jdbc2.spi.operations.ResultSetForSetProviderOperation.perform_operation(ResultSetForSetProviderOperation.java:91)
    at org.gvsig.fmap.dal.store.jdbc2.spi.operations.AbstractConnectionOperation.perform(AbstractConnectionOperation.java:66)
    ... 25 more
Caused by: java.sql.SQLException: ORA-29902: error al ejecutar la rutina ODCIIndexStart()
ORA-29400: error de cartucho de datos
ORA-13282: fallo al inicializar la transformación de coordenadas
ORA-06512: en "MDSYS.SDO_CS", línea 122
ORA-06512: en "MDSYS.SDO_CS", línea 172
ORA-06512: en "MDSYS.SDO_CS", línea 151
ORA-06512: en "MDSYS.SDO_CS", línea 3285
ORA-06512: en "MDSYS.SDO_INDEX_METHOD_10I", línea 585

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
    at org.gvsig.fmap.dal.store.jdbc2.JDBCUtils.executeQuery(JDBCUtils.java:155)
    at org.gvsig.fmap.dal.store.jdbc2.impl.ResulSetControlerBase.create(ResulSetControlerBase.java:205)
    ... 30 more

log4j.properties Magnifier (1.58 KB) Joaquín del Cerro Murciano, 03/17/2021 11:39 AM

gvSIG.zip (58.9 KB) Victor Montes Camara, 03/17/2021 12:37 PM

gvSIG2.zip (73.2 KB) Victor Montes Camara, 03/17/2021 01:08 PM


Related issues

Related to Application: gvSIG desktop - gvSIG feature requests #5586: En la exportacion, los check de usar mayusculas/miniscula... Closed 03/17/2021
Related to Application: gvSIG desktop - gvSIG bugs #5587: Preparar un mecanismo de traslacion de los SRIDs de ORACL... Closed 03/17/2021

Associated revisions

History

#1 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Assignee set to Francisco Díaz Carsí

#2 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Proyecto changed from AYTOA 1 VCSGIS to AYTOA 1

#3 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Priority changed from Normal to Urgent

#4 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Target version changed from 2.6.0-3216 to 2.6.1-final

#5 Updated by Victor Montes Camara about 3 years ago

  • Status changed from New to Awaiting response

No está poniendo el CRS de la capa.

SELECT NVL2 ( ("GEOMETRY"), ("GEOMETRY").Get_WKB (), NULL), "pk"
FROM "SEMCAD_GIS"."PRUEBA"
WHERE ( (NOT ( ("GEOMETRY" IS NULL)))
AND ( (SDO_RELATE (
"GEOMETRY",
SDO_GEOMETRY (
(TO_BLOB (
HEXTORAW (
'0000000003000000010000000541258ef8bd84bcf84150316c06df9c244126187446fcc0494150316c06df9c244126187446fcc04941503b35138530d441258ef8bd84bcf841503b35138530d441258ef8bd84bcf84150316c06df9c24'))),
(0)),
'mask=ANYINTERACT') = 'TRUE')));

En la SELECT, el 0 marcado en negrita corresponde al CRS, al no existir le pone 0

#6 Updated by Joaquín del Cerro Murciano about 3 years ago

  • File log4j.properties added

#7 Updated by Joaquín del Cerro Murciano about 3 years ago

Parece ser que el problema es que no se esta creando correctamente la entrada que toca en la tabla USER_SDO_GEOM_METADATA. En la instalacion de Victor no crea ninguna entrada en esa tabla y la esta añadiendo el con un SRID de 83030.
Tiene pinta de que cuando luego se trata de cargar la capa desde gvSIG desktop, no reconoce la proyeccion esa y la deja a null, y por eso acaba usando un 0 cuando se trata de hacer una consulta sobre la tabla.

El problema estaria pues, no en que en la consulta mete un SRID de 0, si no en por que no esta creando en la instalacion de Victor la entrada correcta en la tabla USER_SDO_GEOM_METADATA, ya que con la instalacion de ORACLE que usamos para pruebas si se esta creando dicha entrada.

Necesitariamos una prueba en la que:
  • Activamos las trazas. Para ello, copiamos en fichero "log4j.properties" adjunto al ticket en la carpeta de la instalcion de gvSIG desktop (ya debe haber uno alli y lo sobreescribiriamos).
  • Arrancamos gvSIG desktop.
  • Cargamos un shp con proyeccion 25830.
  • Lo exportamos a ORACLE.
  • Cerrarmos gvSIG desktop.

Y ahora el log generado lo adjuntarias al ticket.

#9 Updated by Joaquín del Cerro Murciano about 3 years ago

  • File deleted (log4j.properties)

#10 Updated by Victor Montes Camara about 3 years ago

Se inserta log.

#11 Updated by Victor Montes Camara about 3 years ago

Segundo log

#12 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Related to gvSIG feature requests #5586: En la exportacion, los check de usar mayusculas/minisculas que sean dependientes de la BBDD added

#13 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Related to gvSIG bugs #5587: Preparar un mecanismo de traslacion de los SRIDs de ORACLE a los de EPSG added

#14 Updated by Joaquín del Cerro Murciano about 3 years ago

Despues de estar mirando lo que pasaba resumo los puntos mas importantes:

  • Al exportar a base de datos, el nombre del esquema es case-sensitive, y ademas, si se ha dejado marcado el check de usar minusculas, lo pasa a minusculas automaticamente. Desde oracle, los identificadores se crean en mayusculas por defecto, con lo que no encontraba el esquema y fallaba la creacion de la tabla durante la exportacion.
  • Las tablas que habian creadas ya en la BBDD de ORACLE, indicaban la proyeccion con el SRID de ORACLE, en este caso el 83030, que cuando gvSIG lo leia, no era capaz de reconocerlo.
  • La entrada en la tabla USER_SDO_GEOM_METADATA y el indice espacial no se crea en el momento de crear la tabla, si no cuando se termina la insercion de registros, con lo que las tablas vacias no tienen indices espaciales.

Ademas se habian dado errores en el asistente de creacion de nuevo shape, con lo que se habia mezclado errores del momento de creacion del shape que se iba a usar para cargarlo en ORACLE, con errores deribados de los puntos ya nombrados.

Las acciones deribadas de este tiquet serian:

  • Preparar los checks que se muestran al inicio de la exportacion sobre el uso de mayusculas/minusculas para que cada BBDD puedo aportar un valor por defecto para ellos. Y añadir una nota a modo de aviso en el panel donde se introduce el esquema indicando que el nombre del esquema es case-sensitive y si no se corresponde con un esquema existente fallara la creacion de la tabla (#5586).
  • Preparar un mecanismo de traslacion de los SRIDs de ORACLE a los de EPSG para usarlo cuando se leen los SRID de la tabla USER_SDO_GEOM_METADATA (#5587).

He abierto un par de tickets con las dos acciones anteriores, los relacionare con este, y este lo cerrare.

Si me dejo algo importante lo comentais.

#15 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Status changed from Awaiting response to Fixed

#16 Updated by Joaquín del Cerro Murciano about 3 years ago

  • Target version changed from 2.6.1-final to 2.6.0-3218

#17 Updated by Álvaro Anguix almost 3 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF