[Gvsig_usuarios] Problemas al cargar una CONSULTA de OracleSpatial en gvSig. Error ORA-01445:cannot select ROWID from, or sample, a join view without a key-preserved table

Jorge Bellido Diez jbellido en ikt.es
Lun Mar 9 13:14:50 CET 2009


Hola, .. estoy intentando cargar una vista de oracle que cruza una tabla geográfica con una tabla alfanumérica pero no me funcionan. Me sale el error: ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table

Tengo una tabla con cartografia (TBTEST02) y otra alfanumerica (TBTEST02_DATOS) que contiene la referencia catastral (PROVINCIA,MUNICIPIO,POLIGONO,PARCELA,RECINTO). La clave en tb_parcelas es un campo gid y en la tb_datos son los campos PROVINCIA,MUNICIPIO,POLIGONO,PARCELA,RECINTO. Defino una vista V_TBTEST02 cruzando ambas tablas y presentando los campos.

CREATE VIEW "ADMCARTO"."V_TBTEST02" AS 
SELECT ALFA.PROVINCIA,ALFA.MUNICIPIO,ALFA.POLIGONO,ALFA.PARCELA,ALFA.RECINTO,ALFA.DATOTEXTO,ALFA.DATONUMERO,GIS.GID,GIS.GEOMETRY 
FROM "ADMCARTO"."TBTEST02_DATOS" ALFA, "ADMCARTO"."TBTEST02" GIS 
WHERE ALFA."PROVINCIA" = GIS ."PROVINCIA" and
ALFA."MUNICIPIO" = GIS ."MUNICIPIO" and
ALFA."POLIGONO" = GIS ."POLIGONO" and
ALFA."PARCELA" = GIS ."PARCELA" and
ALFA."RECINTO" = GIS ."RECINTO"
WITH READ ONLY;

Luego añado los respectivos registros a las tablas "MDSYS"."USER_SDO_GEOM_METADATA" y "MDSYS"."ALL_SDO_GEOM_METADATA" tal y como he visto en un correo anterior de esta mismo foro.. 

INSERT INTO "MDSYS"."USER_SDO_GEOM_METADATA" 
("TABLE_NAME","COLUMN_NAME","DIMINFO","SRID") 
VALUES('V_TBTEST02','GEOMETRY',"MDSYS"."SDO_DIM_ARRAY"("MDSYS"."SDO_DIM_ELEMENT"('X', 463506.969, 603185.5, .5), "MDSYS"."SDO_DIM_ELEMENT"('Y', 4702558, 4811755, .5)),82337);

INSERT INTO "MDSYS"."ALL_SDO_GEOM_METADATA" 
("OWNER","TABLE_NAME","COLUMN_NAME","SRID") 
VALUES ('ADMCARTO','V_TBTEST02','GEOMETRY',82337);

Voy a gvSig, me conecto a la BD de Oracle,.. Veo en el listado de tablas mi consulta pero al seleccionarla, me sale el error:  ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table

Alguien me podría echar una ayudita,.. Mil gracias. Jorge

 
Un cordial saludo;

 

··················································································
Jorge Bellido

 



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