[Gvsig_usuarios] problemas con geoBD

LUISA MARINA FERNANDEZ RUIZ LuisaM.Fernandez en uclm.es
Jue Jul 12 13:55:43 CEST 2007


 
 
He comprobado la tabla geometry_columns y sí que están las tablas con las que tengo que trabajar.
La codificación que utiliza mi base de datos es SQL_ASCII y antes con la versión 1.0 de gvsig y con la extJDBC sí que me funcionaba. De todos modos me he creado una base de datos de prueba y le he puesto codificación 'Latin 1' y me sigue apareciendo el mismo error.
 
Ya sé que en el log no aparece ninguna información, ya que no figura que haya saltado ninguna excepción. 
Por eso lo que hice fue depurar el código para ver dónde podía estar el fallo. La salida de la consola es la siguiente:
 

SqlAux getFeatureIterator = SELECT ASBINARY(the_geom, 'XDR'), gid FROM barrios WHERE the_geom && GeometryFromText('LINESTRING(568724.3048155737 4283598.5, 622459.6326844261 4283598.5, 622459.6326844261 4337114.5, 568724.3048155737 4337114.5)', 23030)

java.nio.BufferUnderflowException

      at java.nio.Buffer.nextGetIndex(Unknown Source)

      at java.nio.HeapByteBuffer.getInt(Unknown Source)

      at com.iver.cit.gvsig.fmap.drivers.XTypes.getValue(XTypes.java:150)

      at com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisFeatureIterator.next(PostGisFeatureIterator.java:173)

      at com.iver.cit.gvsig.fmap.operations.strategies.DBStrategy.draw(DBStrategy.java:156)

      at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:356)

      at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:592)

      at com.iver.cit.gvsig.fmap.layers.FLayers.draw(FLayers.java:426)

      at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:528)

      at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:526)

      at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:627)

      at java.lang.Thread.run(Unknown Source)

 

 

El fallo está en la clase PostGisFeatureIterator método next()cuando ejecuta:

 

 Value val = XTypes.getValue(rs, fieldId);

 

Al intentar obtener el Value a través de la siguiente instrucción de la clase Xtypes

 

if (metaData.getColumnType(fieldId) == Types.INTEGER)

                        val = ValueFactory.createValue(buf.getInt());

 

se produce la excepción en la ejecución de buf.getInt().

 

No sé si esto te dará alguna idea de lo que está pasando. 

 

 

Esque necesito conectar con postgis ya que estoy desarrollando una extensión que trabaja con esta base de datos.

 

 

Muchas gracias tu ayuda.

 

Saludos


________________________________

De: gvsig_usuarios-bounces en runas.cap.gva.es en nombre de Jose Manuel Vivó (Chema)
Enviado el: jue 12/07/2007 13:14
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] problemas con geoBD



El Jueves 12 Julio 2007 12:49, LUISA MARINA FERNANDEZ RUIZ escribió:
> Hola a todos!
>
> Tengo la versión 1.0.2 de gvSIG y he intentado instalar la extensión geoBD
> sin éxito, a pesar de que le he puesto mucho empeño.....
>
> La instalación la realiza correctamente, además e incluido la librería
> ojdbc14.jar en la ruta que se indica en el manual. El problema surge cuando
> intento cargar una capa de mi base de datos postgis, ya que aparece la capa
> en la vista actual pero con una 'x' en color rojo al lado, es decir, que no
> ha cargado bien la capa. Curiosamente ocurre lo mismo si no tengo cargada
> la librería ojdbc14.jar en la ruta indicada.¿Para qué se utiliza esta
> librería?  ¿Sin ella debería funcionar la extensión o es absolutamente
> necesario que esté para que funcione?

Esta librería es el driver de Oracle para conectar a sus bases de datos. Para
conectarte con PostGis no es necesario.

>
> Como no he conseguido que funcione la extensión he intentado volver a
> trabajar con la antigua extensión 'extJDBC', pero me sigue dando el mismo
> error: me carga la capa con una 'x' roja. Esto es muy extraño,.......
>
> Alguien tiene alguna idea sobre qué puede estar pasando.

Pues puedes mirar un par de cosas:
- Enconding: ahora mismo gvSIG solo conecta con 'Latin1'
- geometry_columns: Comprueba que en esta tabla existe una entrada para la
tabla a la que intentas acceder.

>
>
> Adjunto el fichero log.
>

Pues en este log no hay ninguna información útil sobre el error que te esta
pasando y no te puedo decir más.

En breve saldrá una nueva versión de la aplicación donde hemos repasado el
Driver de PostGIS. Puede que esta versión solucione tu problema.

Un Saludo.

> Muchas gracias de antemano.
>
>
> Saludos


--
=============
Jose Manuel Vivó (Chema)
Equipo de gvSIG

IVER T.I. S.A.
C/ Salamanca, 50-52
46005-Valencia
Tlf.+34963163400
Spain
www.iver.es
www.gvsig.com



------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/ms-tnef
Tamaño     : 10489 bytes
Descripción: no disponible
Url        : http://runas.cap.gva.es/pipermail/gvsig_usuarios/attachments/20070712/c1c09fff/attachment-0001.bin


Más información sobre la lista de distribución gvSIG_usuarios