环境:
操作步骤:
1:一个空间数据与一个属性数据 有相关的关联字段
2:两个数据导入ArcSDE
3:空间数据注册版本
4:在ArcGIS Desktop10.1 环境下进行join 操作
5:关联之后,可以在ArcGIS Desktop10.1进行放大、缩小、漫游等操作
系统会报如下错误:
One or more layers failed to draw: TEST.place: Underlying DBMS error [ORA-00904: "V__10"."PID": 标识符无效 ::SELECT V__10.st_SHAPE$, V__10.OBJECTID, V__10.st_points,V__10.st_numpts,V__10.st_entity,V__10.st_minx,V__10.st_miny,V__10.st_maxx,V__10.st_maxy,V__10.st_minz,V__10.st_maxz,V__10.st_minm,V__10.st_maxm,V__10.st_area$,V__10.st_len$,V__10.st_rowid FROM (SELECT 1 st_SHAPE$ ,b.OBJECTID,b.SHAPE.points as st_points,b.SHAPE.numpts as st_numpts,b.SHAPE.entity as st_entity,b.SHAPE.minx as st_minx,b.SHAPE.miny as st_miny,b.SHAPE.maxx as st_maxx,b.SHAPE.maxy as st_maxy,b.SHAPE.minz as st_minz,b.SHAPE.maxz as st_maxz,b.SHAPE.minm as st_minm,b.SHAPE.maxm as st_maxm,b.SHAPE.area as st_area$,b.SHAPE.len as st_len$,b.rowid as st_rowid FROM TEST.place b WHERE SDE.ST_EnvIntersects(b.SHAPE,:1,:2,:3,:4) = 1 AND b.OBJECTID NOT IN (SELECT /*+ HASH_AJ */ SDE_DELETES_ROW_ID FROM TEST.D10 WHERE DELETED_AT IN (SELECT l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :lineage_name1 AND l.lineage_id <= :state_id1) AND SDE_STATE_ID = 0) UNION ALL SELECT 2 st_SHAPE$ ,a.OBJECTID,a.SHAPE.points as st_points,a.SHAPE.numpts as st_numpts,a.SHAPE.entity as st_entity,a.SHAPE.minx as st_minx,a.SHAPE.miny as st_miny,a.SHAPE.maxx as st_maxx,a.SHAPE.maxy as st_maxy,a.SHAPE.minz as st_minz,a.SHAPE.maxz as st_maxz,a.SHAPE.minm as st_minm,a.SHAPE.maxm as st_maxm,a.SHAPE.area as st_area$,a.SHAPE.len as st_len$,a.rowid as st_rowid FROM TEST.A10 a,SDE.state_lineages SL WHERE SDE.ST_EnvIntersects(a.SHAPE,:5,:6,:7,:8) = 1 AND (a.OBJECTID, a.SDE_STATE_ID) NOT IN (SELECT /*+ HASH_AJ */ SDE_DELETES_ROW_ID, SDE_STATE_ID FROM TEST.D10 WHERE DELETED_AT IN (SELECT l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :lineage_name2 AND l.lineage_id <= :state_id2) AND SDE_STATE_ID > 0) AND a.SDE_STATE_ID = SL.lineage_id AND SL.lineage_name = :lineage_name3 AND SL.lineage_id <= :state_id3) V__10 LEFT OUTER JOIN TEST.owner ON V__10.PID = TEST.owner.PID] [DBJoin0]
经过与美国Esri Support的沟通确定是一个Bug,已经在ArcGIS 10.2版本解决
最新更新 用户也可以下载
http://support.esri.com/en/downloads/patches-servicepacks/view/productid/66/metaid/2064
Nimbus ID | NIM082229 |
---|---|
Submitted | Jun 27, 2012 2:37 PM |
Severity | Critical |
Applies To | ArcGIS |
Version Found | 10.1 |
Prog Language | N/A |
Server Platform | All |
Client Platform | All |
Database | Oracle |
Locale | N/A |
Status | Resolved |
Version Fixed | 10.2 |
SP Fixed | 10.2 |
In ArcGIS 10.1 for Desktop, when an ArcSDE versioned layer is displayed after being joined to an ArcSDE table in Oracle, the following error is returned: "ORA-00904: invalid identifier"
N/A
Use Desktop 10 to create a join.
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------