[Bug]ArcGIS Desktop10.1进行Join版本数据操作报:"ORA-00904: invalid identifier"

106 篇文章 0 订阅
99 篇文章 0 订阅

环境:

  •  OS:Windows 7 64Bit 
  •  DBMS:Oracle 11.2.0.1 64Bit
  •  ArcSDE  Version 10.1 SP1
  •  ArcGIS Desktop Version 10.1 SP1


操作步骤:

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版本解决


最新更新   用户也可以下载

ArcGIS 10.1 SP1 for (Desktop, Engine, Server) Quality Improvement Patch


http://support.esri.com/en/downloads/patches-servicepacks/view/productid/66/metaid/2064


Bug NIM-082229

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

Synopsis

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"

Additional Status Information

N/A

Alternate Solution

Use Desktop 10 to create a join. 


 -------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

出处来自:http://blog.csdn.net/linghe301
-------------------------------------------------------------------------------------------------------





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值