Bug: 重命名Oracle中表对象的st_geometry类型的字段时无法自动更新相关的元数据

文章编号 : 34983
软件: ArcSDE 9.3,9.3.1
操作系统: N/A
已邀请:

易智瑞技术支持

赞同来自:

错误信息:
使用SQL ALTER TABLE命令对Oracle中表的st_geometry类型字段进行重命名时,该表在ArcSDE Schema中的st_geometry_columns和st_geometry_index两张表中记录的相关元数据信息无法更新。
SQL> ALTER TABLE roads RENAME COLUMN shp TO shape;
Table altered.
如果元数据无法正确的记录表的具体元数据,例如,st_geometry类型字段的名称,应用程序边无法使用该空间信息。
原因:
Oracle中针对the ora_is_alter_column()属性的AFTER ALTER ON DATABASE事件触发器无法正确的返回被重命名的属性字段的名称。ArcSDE的管理员,SDE用户,使用一个名为db_ev_alter_st_metadata的触发器来捕获Oracle中的所有ALTER事件,该触发器通过ALTER操作事件的信息来判断是否有st_geometry类型的字段被更改,如果有,该触发器便使用捕获到的新名称来更新记录在st_geometry_columns和st_geometry_index表中的元数据信息,如果Oracle的事件机制无法返回被修改的字段的正确名称,ArcSDE的触发器便无法正确的维护st_geometry的元数据信息。

解决方法: 没有针对该BUG的解决方案,不要使用ALTER TABLE RENAME COLUMN命令来重命名st_geometry类型的字段。


创建时间:2008-06-10
最近更新: 2011-05-03


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册