[Gvsig_desarrolladores] gvsig 1.9 y oraclespatial

Juan Lucas Dominguez Rubio jldominguez en prodevelop.es
Mie Ene 13 11:20:24 CET 2010


Hola, si es una tabla sin geometrías quizás te conviene obtener la conexión y después montar la SQL sin llamar a ningún método que ya exista.
 
Para obtener la conexión fíjate en el método load() de la clase DefaultJDBCDriver. Sería algo así:
 
ConnectionWithParams cwp = SingleVectorialDBConnectionManager.instance().getConnection(
OracleSpatialDriver.NAME,
<usuario>,
<contrasena>,
<nombre_conexion_cualquiera>,
<host>,
<puerto_normalmente_1521>,
<nombre_db>,
true);
 
El objeto conexión se obtiene con:
 
Connection c = ((ConnectionJDBC) cwp.getConnection()).getConnection();
 
y esa c es la que puedes usar para ejecutar una SQL. Puedes mirar el código del método addRow de la clase OracleSpatialWriter para ver cómo construir la SQL.
 
Saludos, 

 
Juan Lucas Domínguez Rubio
---
Prodevelop SL, Valencia (España)
Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
http://www.prodevelop.es <http://www.prodevelop.es/> 
---

________________________________

De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
Enviado el: mar 12/01/2010 16:30
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial


Buenas Juan,
 
Para modificar una tabla de oracle spatial sin geometria "añadir un registro", en que clases podria ver el código referente al modo en el que lo hace cuando se utilizando la interfaz grafica??
 
Un saludo
 

 
El 11 de enero de 2010 10:11, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:


	Hola.
	 
	Creo que el primer error no tiene consecuencias graves. La serie de errores que hay después ocurren porque se supone que la primera columna de la SQL que has ejecutado debe ser de tipo ROWID y no lo es:
	 
	select CODAREA, c."IDCOMISION", c."NOMBREORIG", c."CODINEMUN", c."GID", c."TIPOZONA", c."TITULARIDAD", c."CLASE", c.GEOMETRY from PRUEBA.HU_AREAINFLUENCIA c where (sdo_relate(GEOMETRY, mdsys.sdo_geometry(2003, 82337, null, mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(61368.4981766357, 4077142.0001, 264551.392423364, 4236433.0)), 'mask=anyinteract querytype=window') = 'TRUE')
	
	La línea donde salta la excepción dice:
	 
	ROWID ri = (ROWID) rs.getObject(1);
	 
	así que la SQL que creas debe empezar por "SELECT ROWID, ....". Esa parte del código es bastante delicada. Haz ejecuciones paso a paso y mira que los tipos y nombres de columnas son los que el código espera.
	 
	Saludos,
	 
	Juan Lucas Domínguez Rubio
	---
	Prodevelop SL, Valencia (España)
	Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
	http://www.prodevelop.es <http://www.prodevelop.es/> 
	---

________________________________

	
	De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
	
	Enviado el: lun 11/01/2010 9:43 

	Para: Lista de Desarrolladores de gvSIG
	Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
	

	Buenas Juan,
	Cuando ejecuto la linea : driver.setData(cwp.getConnection(), lyrDef);
	
	me salta en consola el siguiente error:
	
	ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2452) - Unknown EPSG code: null
	DEBUG [Thread-14] (OracleSpatialDriver.java:927) - SQL para leer ids: select rowid, c.GEOMETRY.SDO_ELEM_INFO from PRUEBA.HU_AREAINFLUENCIA c
	 INFO [Thread-14] (OracleSpatialDriver.java:940) - FETCH_SIZE = 15000
	DEBUG [Thread-14] (OracleSpatialDriver.java:960) - Beginning of result set:
	 INFO [Thread-14] (OracleSpatialDriver.java:983) - IDs read: 0
	 INFO [Thread-14] (OracleSpatialDriver.java:402) - Ids thread delayed by: 891 ms.
	
	despues parece que recorre cada registro de la tabla dando en cada uno el siguiente error::
	
	
	DEBUG [AWT-EventQueue-1] (FLyrDefault.java:1106) - setTocStatusImage sun.awt.image.ToolkitImage en 1354684 sobre capa HU_AREAINFLUENCIA
	Viewport despues: Datos del viewPort:
	Extent=java.awt.geom.Rectangle2D$Double[x=100525.79679999966,y=4077142.0001,w=124868.29700000025,h=159290.99990000017]
	adjustedExtent=java.awt.geom.Rectangle2D$Double[x=61368.49817663574,y=4077142.0001,w=203182.8942467281,h=159290.99990000017]
	imageSize=java.awt.Dimension[width=1111,height=871]
	escale=0.005467979989747049
	trans=AffineTransform[[0.005467979989747, 0.0, -335.56172003067246], [0.0, -0.005467979989747, 23164.73087190406]]
	DEBUG [Thread-11] (OracleSpatialDriver.java:1476) - MAIN SEL = select CODAREA, c."IDCOMISION", c."NOMBREORIG", c."CODINEMUN", c."GID", c."TIPOZONA", c."TITULARIDAD", c."CLASE", c.GEOMETRY from PRUEBA.HU_AREAINFLUENCIA c where (sdo_relate(GEOMETRY, mdsys.sdo_geometry(2003, 82337, null, mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(61368.4981766357, 4077142.0001, 264551.392423364, 4236433.0)), 'mask=anyinteract querytype=window') = 'TRUE')
	java.lang.ClassCastException: java.lang.String
	    at es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialFeatureIterator.next(OracleSpatialFeatureIterator.java:135)
	    at com.iver.cit.gvsig.fmap.drivers.featureiterators.ReprojectWrapperFeatureIterator.next(ReprojectWrapperFeatureIterator.java:92)
	    at com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:437)
	    at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)
	    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)
	    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)
	    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)
	    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)
	    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)
	    at java.lang.Thread.run(Thread.java:595)
	
	
	
	Saludos
	
	
	El 7 de enero de 2010 18:34, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
	

		Hola. Si no pones comillas dobles, Oracle lo pone internamente en mayúsculas <TIPO> y al compararlo con <Tipo>, falla. Si pones comillas también en la query, funciona:
		 
		Select "Tipo" from HUELVA_AREAINFLUENCIA
		 
		Creo que una aplicación que se dedique a crear tablas en Oracle con nombres arbitrarios para tablas y campos no puede prescindir de las comillas dobles.
		 
		Saludos,
		 
		Juan Lucas Domínguez Rubio
		---
		Prodevelop SL, Valencia (España)
		Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
		http://www.prodevelop.es <http://www.prodevelop.es/> 
		---

________________________________

		
		De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
		
		Enviado el: jue 07/01/2010 12:34 

		Para: Lista de Desarrolladores de gvSIG
		Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
		

		CREATE TABLE HUELVA_AREAINFLUENCIA
		(
		  "CodArea"     NVARCHAR2(80),
		  "Tipo"        NUMBER(12),
		  "IdComision"  NVARCHAR2(80),
		  "Titularida"  NUMBER(12),
		  "NombreOrig"  NVARCHAR2(80),
		  "CodIneMun"   NVARCHAR2(80),
		  "SHAPE_Leng"  FLOAT(126),
		  "SHAPE_Area"  FLOAT(126),
		  GID           NUMBER(12),
		  GEOMETRY      MDSYS.SDO_GEOMETRY
		)
		TABLESPACE USERS
		PCTUSED    0
		PCTFREE    10
		INITRANS   1
		MAXTRANS   255
		STORAGE    (
		            INITIAL          64K
		            MINEXTENTS       1
		            MAXEXTENTS       2147483645
		            PCTINCREASE      0
		            BUFFER_POOL      DEFAULT
		           )
		LOGGING 
		NOCOMPRESS 
		NOCACHE
		NOPARALLEL
		MONITORING;


		CREATE UNIQUE INDEX HUELVA_AREAINFLUENCIA_PK ON HUELVA_AREAINFLUENCIA
		(GID)
		LOGGING
		TABLESPACE USERS
		PCTFREE    10
		INITRANS   2
		MAXTRANS   255
		STORAGE    (
		            INITIAL          64K
		            MINEXTENTS       1
		            MAXEXTENTS       2147483645
		            PCTINCREASE      0
		            BUFFER_POOL      DEFAULT
		           )
		NOPARALLEL;


		CREATE INDEX HUELVA_AREAINFLUENCIA_SX ON HUELVA_AREAINFLUENCIA
		(GEOMETRY)
		INDEXTYPE IS MDSYS.SPATIAL_INDEX;


		ALTER TABLE HUELVA_AREAINFLUENCIA ADD (
		  CONSTRAINT HUELVA_AREAINFLUENCIA_PK
		 PRIMARY KEY
		 (GID)
		    USING INDEX 
		    TABLESPACE USERS
		    PCTFREE    10
		    INITRANS   2
		    MAXTRANS   255
		    STORAGE    (
		                INITIAL          64K
		                MINEXTENTS       1
		                MAXEXTENTS       2147483645
		                PCTINCREASE      0
		               ));







		Y la sentencia:

		Select Tipo from HUELVA_AREAINFLUENCIA;
		
		te dara el error de identificador no valido
		


		El 7 de enero de 2010 12:27, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
		

			Hola. El driver Oracle Spatial de gvSIG usa constantemente dobles comillas para poder manejar cualquier nombre de campo o tabla y no da problemas.
			 
			Puedes enviar la SQL de creación de una tabla y una SQL de consulta que dé problemas para que lo pueda reproducir en mi BD?
			 
			Saludos,
			 
			Juan Lucas Domínguez Rubio
			---
			Prodevelop SL, Valencia (España)
			Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
			http://www.prodevelop.es <http://www.prodevelop.es/> 
			---

________________________________

			
			De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
			
			Enviado el: jue 07/01/2010 12:12 

			Para: Lista de Desarrolladores de gvSIG
			Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
			

			He probado con el TOAD,al ejecutar sentencias sobre tablas que tienen nombres de campos o nombres de tablas entre
			comillas da el mismo error, meti campos nuevos, sin dobles comillas y no daba problemas, por eso me inclino a que el error
			sea cosa de las comillas...
			saludos
			
			
			El 7 de enero de 2010 11:59, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
			

				Hola. En las SQL los nombres de tablas, nombres de campos etc pueden ir entre comillas para evitar conflictos con las palabras clave del lenguaje SQL y para poder usar cualquier caracter salvo precisamente "
				 
				Por ejemplo al exportar una capa a Oracle Spatial se genera una SQL como esta:
				 
				  CREATE TABLE "LLEIDA"."GT2_NOR_00" 
				   ( "NAME" NVARCHAR2(40), 
				 "CAPITAL" NVARCHAR2(64), 
				 "APPROX" NUMBER(12,0), 
				 "AREA" FLOAT(126), 
				 "SOURCETHM" NVARCHAR2(16), 
				 "GEOMETRY" "MDSYS"."SDO_GEOMETRY" , 
				 "GID" NUMBER(12,0), 
				  CONSTRAINT "GT2_NOR_00_PK" PRIMARY KEY ("GID");
				 
				pero eso no significa que esos nombres incluyan las comillas (de hecho no creo que Oracle te deje crear un campo cuyo nombre contenga comillas dobles.
				 
				Insisto en que deberías acceder a tu BD con algún otro software que te permita hacer comprobaciones.
				 
				Saludos,
				 
				 
				Juan Lucas Domínguez Rubio
				---
				Prodevelop SL, Valencia (España)
				Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
				http://www.prodevelop.es <http://www.prodevelop.es/> 
				---

________________________________

				
				De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
				
				Enviado el: jue 07/01/2010 10:59 

				Para: Lista de Desarrolladores de gvSIG
				Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
				

				Buenas,
				
				Creo que ya se donde puede estar el problema, al generar la tabla se crearon los nombres de las tablas y campos
				entre dobles comillas, puede ser eso...
				
				Saludos
				
				
				El 7 de enero de 2010 10:42, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
				

					Hola. Solo se me ocurre que sea un problema de mayúsculas y minúsculas. El campo se llama CODAREA (todo con mayúsculas) ?
					 
					Cuál es el valor de _sql en la linea 668 de OracleSpatialDriver.java cuando salta esa excepción?
					Y cuál es el valor de not_restricted_sql en la linea 628 de OracleSpatialDriver.java cuando salta la otra excepción?
					
					Puedes introducir esas SQL en otra aplicación (por ejemplo Oracle SQLDeveloper [1]) y ver qué pasa?
					 
					[1] http://www.oracle.com/technology/software/products/sql/index.html
					 
					 
					Saludos,
					 
					
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: jue 07/01/2010 10:07 

					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					

					Buenas Juan, el error que me daba al cargar la capa leida de BD oracle spatial en gvsig mediante codificación es el siguiente
					
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:695) - While guessing shape type: ORA-00904: "CODAREA": identificador no válido
					
					 WARN [AWT-EventQueue-1] (OracleSpatialDriver.java:696) - Assumed MULTI
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:664) - While getting metadata. ORA-00904: "CODAREA": identificador no válido
					
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2452) - Unknown EPSG code: null
					DEBUG [Thread-14] (OracleSpatialDriver.java:927) - SQL para leer ids: select rowid, c.GEOMETRY.SDO_ELEM_INFO from PRUEBA.HUELVA_AREAINFLUENCIA c
					 INFO [Thread-14] (OracleSpatialDriver.java:940) - FETCH_SIZE = 15000
					DEBUG [Thread-14] (OracleSpatialDriver.java:960) - Beginning of result set:
					 INFO [Thread-14] (OracleSpatialDriver.java:983) - IDs read: 0
					 INFO [Thread-14] (OracleSpatialDriver.java:402) - Ids thread delayed by: 906 ms.
					
					El campo CODAREA existe, no se porque me dice eso de identificador no valido
					
					Un saludo y Feliz año a tod en s
					
					
					El 24 de diciembre de 2009 08:55, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola,
					 
					Parece que has construído una query SQL con los atributos en orden equivocado. Ejecuta paso a paso para ver de qué tipo son los atributos del resultset que obtienes en esa línea de código.
					 
					Además, Oracle Spatial usa otra codificación para los SRS, es decir en la BD Oracle Spatial no debe figurar el valor 23030 para el SRID. . El código EPSG:23030 es el 82337 en Oracle Spatial.
					 
					Saludos,
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: mié 23/12/2009 19:08 

					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					

					Buenas Juan,
					
					al cargar la capa me salta el siguiente error, comentarte que el sistema de referencia de los datos que he cargado es el 23030,
					te suen esto ??
					
					Gracias de antemano
					
					DEBUG [AWT-EventQueue-1] (MDIFrame.java:672) - Execute command:HELLO
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java: 
					2175) - Oracle Spatial code not found in table: 23030
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2205) - Error with SQL statement. Unknown Oracle code: 23030
					ERROR [AWT-EventQueue-1] (OracleSpatialDriver.java:2452) - Unknown EPSG code: null
					DEBUG [Thread-14] (OracleSpatialDriver.java:927) - SQL para leer ids: select rowid, c.GEOM.SDO_ELEM_INFO from PRUEBA.AREAINFLUENCIA c
					 INFO [Thread-14] (OracleSpatialDriver.java:940) - FETCH_SIZE = 15000
					DEBUG [Thread-14] (OracleSpatialDriver.java:960) - Beginning of result set:
					 INFO [Thread-14] (OracleSpatialDriver.java:983) - IDs read: 0
					 INFO [Thread-14] (OracleSpatialDriver.java:402) - Ids thread delayed by: 875 ms.
					DEBUG [AWT-EventQueue-1] (FLyrDefault.java:1106) - setTocStatusImage sun.awt.image.ToolkitImage en 129a559 sobre capa AREAINFLUENCIA
					DEBUG [Thread-14] (FLyrDefault.java:1106) - setTocStatusImage null sobre capa AREAINFLUENCIA
					Viewport despues: Datos del viewPort:
					Extent=java.awt.geom.Rectangle2D$Double[x=100525.0,y=1.0,w=7.9679899441E10,h=4077141.0]
					adjustedExtent=java.awt.geom.Rectangle2D$Double[x=100525.0,y=-3.1231621380395138E10,w=7.9679899441E10,h=6.2467319903790276E10]
					imageSize=java.awt.Dimension[width=1111,height=871]
					escale=1.3943290689299303E-8
					trans=AffineTransform[[1.3943291E-8, 0.0, -0.001401649296542], [0.0, -1.3943291E-8, 435.5284243950154]]
					DEBUG [Thread-11] (OracleSpatialDriver.java:1476) - MAIN SEL = select CODAREA, c."TIPO", c."IDCOMISION", c."TITULARIDA", c."NOMBREORIG", c."SHAPE_LENG", c."SHAPE_AREA", c."CODINEMUN", c.GEOM from PRUEBA.AREAINFLUENCIA c where (sdo_relate(GEOM, mdsys.sdo_geometry(2003, 23030, null, mdsys.sdo_elem_info_array(1, 1003, 3), mdsys.sdo_ordinate_array(100525.0, -3.12316213803951E10, 7.9679999966E10, 3.12356985233951E10)), 'mask=anyinteract querytype=window') = 'TRUE')
					java.lang.ClassCastException: java.lang.String
					    at es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialFeatureIterator.next(OracleSpatialFeatureIterator.java:135)
					    at com.iver.cit.gvsig.fmap.drivers.featureiterators.ReprojectWrapperFeatureIterator.next(ReprojectWrapperFeatureIterator.java:92)
					    at com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:437)
					    at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)
					    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)
					    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)DEBUG [Thread-11] (NotificationManager.java:104) - java.lang.String
					java.lang.ClassCastException: java.lang.String
					    at es.prodevelop.cit.gvsig.fmap.drivers.jdbc.oracle.OracleSpatialFeatureIterator.next(OracleSpatialFeatureIterator.java:135)
					    at com.iver.cit.gvsig.fmap.drivers.featureiterators.ReprojectWrapperFeatureIterator.next(ReprojectWrapperFeatureIterator.java:92)
					    at com.iver.cit.gvsig.fmap.layers.FLyrVect._draw(FLyrVect.java:437)
					    at com.iver.cit.gvsig.fmap.layers.FLyrVect.draw(FLyrVect.java:631)
					    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:209)
					    at com.iver.cit.gvsig.fmap.DefaultMapContextDrawer.draw(DefaultMapContextDrawer.java:175)
					    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)
					    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)
					    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)
					    at java.lang.Thread.run(Thread.java:595)
					
					    at com.iver.cit.gvsig.fmap.MapContext.draw(MapContext.java:1092)
					    at com.iver.cit.gvsig.fmap.MapControl$PaintingRequest.paint(MapControl.java:1043)
					    at com.iver.cit.gvsig.fmap.MapControl$Drawer2$Worker.run(MapControl.java:1234)
					    at java.lang.Thread.run(Thread.java:595)


					El 23 de diciembre de 2009 15:59, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola,
					 
					en mi workspace de 1.9 (conectado al trunk del repositorio) tengo un proyecto llamado libDriverManager y en su build.xml se crea el archivo "driver-manager-1.1.jar". Qué versión estás compilando? De dónde salen esos dos jar?
					 
					Saludos,
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: mié 23/12/2009 13:15 

					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					

					Buenas Juan, te comento un poco
					tengo dos librerias :
					
					driver-manager-1.0-SNAPSHOT      con esta si me aparece el driver de Oracle Spatial Database Driver
					
					driver-manager-1.0                         con esta NO ME SALE EL DRIVER  Oracle Spatial Database Driver
					
					
					Si pongo las dos librerias evidentemente me da error, me dice que tengo dos librerias que se 
					llaman igual,
					¿Que diferencias hay entre una y otra ?
					
					¿como puedo hacer para que me salga el driver oracle spatial?
					
					
					Saludos y muchas gracias
					
					
					El 23 de diciembre de 2009 11:43, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola, Carlos.
					 
					Esto es un esbozo del código que necesitas para crear una capa Oracle Spatial por código. No lo he probado, pero los errores que tenga creo que serán solo erratas. Debes reemplazar las expresiones <...> por los valores de tu BD: El puerto suele ser 1521 para Oracle Spatial. He supuesto que el nombre del campo geométrico es GEOMETRY:
					 
					===========================
					ConnectionWithParams cwp = null;
					try {
					  cwp = SingleVectorialDBConnectionManager.instance().getConnectionOracleSpatialDriver.NAME, <usuario>, <contrasena>,
					    <nombre_de_la_conexion_cualquier_cosa>, <nombre-del-servidor-o-IP>, <puerto>, <nombre_de_la_BD>, true);
					} catch (DBException e) {
					  System.err.println("Error: " + e.getMessage());
					}
					FLayer lyr = null;
					try {
					                IVectorialDatabaseDriver driver = (IVectorialDatabaseDriver) LayerFactory.getDM().getDriver(OracleSpatialDriver.NAME);
					                 schema = <esquema_es_decir_usuario>;
					                 tableName = <nombre_de_la_tabla>;
					                String fidField = "ROWID";
					                String geomField = "GEOMETRY";
					                String[] fields = <array_con_los_nombre_de_campos>; // debe contener "ROWID" pero no "GEOMETRY" 
					                DBLayerDefinition lyrDef = new DBLayerDefinition();
					                lyrDef.setName(<nombre_de_la_capa_en_el_TOC_de_gvSIG_cualquier_cosa>);
					                lyrDef.setSchema(schema);
					                lyrDef.setTableName(tableName);
					                lyrDef.setWhereClause("");
					                lyrDef.setFieldGeometry(geomField);
					                lyrDef.setFieldNames(fields);
					                lyrDef.setFieldID(fidField);
					                lyrDef.setHost(cwp.getHost());
					                lyrDef.setPort(Integer.parseInt(cwp.getPort()));
					                lyrDef.setDataBase(cwp.getDb());
					                lyrDef.setUser(cwp.getUser());
					                lyrDef.setPassword(cwp.getPw());
					                driver.setData(cwp.getConnection(), lyrDef);
					                lyr = LayerFactory.createDBLayer(driver, layerName, null);
					} catch (Exception ex) {
					  System.err.println("Error: " + ex.getMessage());
					}
					 
					=============================
					 
					 
					 
					Saludos,
					 
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					Enviado el: mié 23/12/2009 10:34
					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					
					
					Buenas Juan,
					
					He estado viendo las clases que me comentastes de WizardVectorialDB y de NewOracleSpatialTableWizard,
					eso lo que hace es realmente mostrar el panel de conexio a bd y seleccionar la capa a representar en la vista,
					para hacer esto mismo pero todo mediante codificación nada de abrir panels, es posible  con estas clases ??  o hay otras ??
					
					Gracias y saludos
					
					
					
					El 21 de diciembre de 2009 15:40, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola, Carlos. No entiendo lo que quieres hacer. Coger una capa de la BD Oracle Spatial y representarla en una vista de gvSIG es lo que hace la extensión Oracle Spatial, entre otras cosas. Qué cosa novedosa quieres hacer con una capa Oracle Spatial?
					 
					La creación de la capa puedes verla en el método getLayer de la clase WizardVectorialDB (proyecto appGvsig). Ese método se usa para cualquier tipo de BD espacial, lo único que cambia son las variables selectedDataSource y conex. Para ver cómo dar valor a esas variables en el caso de Oracle Spatial, mira por ejemplo el método addNewConnection de la clase NewOracleSpatialTableWizard.
					 
					Saludos,
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: lun 21/12/2009 14:31 

					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					

					Efectivamente, estaba intentando ejecutar ese código, mi intención era coger una capa de nuesta BD oracle
					y representarla en gvsig, pero ando un poco perdido y estaba siguiendo ese ejemplo
					que parecia crear un DBLayerDefinition con la capa de la BD...
					
					Hay alguno forma para hacer esto que te comento, coger la capa de la bd y representarla  ??
					
					Muchas Gracias y un saludo
					
					
					
					El 21 de diciembre de 2009 13:48, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Esta línea exactamente:
					 
					OracleSpatialDriver driver = new OracleSpatialDriver();
					 
					solo aparece en una clase de test que tiene un método 'main', pero no se usa en la aplicación. Se usó para hacer pruebas de rendimiento del driver. Estás intentando ejecutar ese main?
					 
					Saludos,
					
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: lun 21/12/2009 12:40 

					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					

					Sabes de alguna libreria que pueda revisar para ver si todo esta correcto ??
					
					Gracias y saludos
					
					
					El 21 de diciembre de 2009 12:36, Carlos Javier Martin Cano <carlosjmartinc en gmail.com> escribió:
					

					Si si seguí las instrucciones, me funciona todo menos la conexión  a oracle spatial...
					tengo la version 1.9 estable de gvsig
					
					
					El 21 de diciembre de 2009 12:30, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió: 


					Hola.
					 
					Parece que te falta compilar  y poner en su sitio alguna de las librerías básicas de gvSIG.
					Has seguido estas instrucciones?
					 
					http://www.gvsig.org/web/docdev/docs/svn_article/construir-gvsig-desde-el-repositorio-svn
					 
					Saludos,
					 
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					
					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					
					Enviado el: lun 21/12/2009 11:18
					Para: Lista de Desarrolladores de gvSIG
					Asunto: Re: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					
					
					Buenas Juan,
					
					Primero gracias por contestar ,
					
					He podido ejecutar el build.xml del proyecto extOracleSpatial pero al iniciar mi aplicación
					cuando ejecuto la linea 
					
					OracleSpatialDriver driver = new OracleSpatialDriver();
					
					me da el siguiente error, no se si tendrá algo que ver
					
					java.lang.NoClassDefFoundError: com/iver/cit/gvsig/fmap/DriverException
					
					No se a que se debe,
					
					Un saludo
					
					
					El 21 de diciembre de 2009 10:56, Juan Lucas Dominguez Rubio <jldominguez en prodevelop.es> escribió:
					

					Hola, Carlos. En la línea 42 de extOracleSpatial/build.xml dice:
					 
					depends="init,compile,create-jar,copy-data-files,copy-to-andami, clean">
					 
					Elimina el elemento 'compile' para que quede asi:
					 
					depends="init,create-jar,copy-data-files,copy-to-andami,clean">
					 
					Creo que así podrás ejecutar el build.xml sin ese error. No olvides tener activada la opción "Project - build automatically" en el menú principal.
					 
					Saludos,
					 
					 
					 
					Juan Lucas Domínguez Rubio
					---
					Prodevelop SL, Valencia (España)
					Tlf.: 96.351.06.12 -- Fax: 96.351.09.68
					http://www.prodevelop.es <http://www.prodevelop.es/> 
					---

________________________________

					De: gvsig_desarrolladores-bounces en listserv.gva.es en nombre de Carlos Javier Martin Cano
					Enviado el: dom 20/12/2009 20:41
					Para: gvsig_desarrolladores en listserv.gva.es
					Asunto: [Gvsig_desarrolladores] gvsig 1.9 y oraclespatial
					
					
					Buenas, 
					me he bajado la extensión para oracle spatial  (extOracleSpatial) 
					al ejecutar el build.xml me da el siguiente error : 
					
					Buildfile: D:\gvSIG\extOracleSpatial\build.xml 
					init: 
					compile: 
					gvSIG-import-build-number: 
					
					BUILD FAILED 
					D:\gvSIG\extOracleSpatial\build.xml:123: The following error occurred while executing this line: 
					D:\gvSIG\binaries\ant\utilities.xml:207: Error: property buildNumberFile not set or file not available: ${buildNumberFile} 
					
					Total time: 1 second 
					
					Me podeis ayudar ? 
					
					Gracias y un saludo 

					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					




					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



					_______________________________________________
					gvSIG_desarrolladores mailing list
					gvSIG_desarrolladores en listserv.gva.es
					http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
					
					



				_______________________________________________
				gvSIG_desarrolladores mailing list
				gvSIG_desarrolladores en listserv.gva.es
				http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
				
				



			_______________________________________________
			gvSIG_desarrolladores mailing list
			gvSIG_desarrolladores en listserv.gva.es
			http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
			
			



		_______________________________________________
		gvSIG_desarrolladores mailing list
		gvSIG_desarrolladores en listserv.gva.es
		http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
		
		



	_______________________________________________
	gvSIG_desarrolladores mailing list
	gvSIG_desarrolladores en listserv.gva.es
	http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
	
	


------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20100113/c598ec91/attachment.htm 


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