ArcSde 空间表删除重新粘贴要素集重复问题

  • 问题描述
    一个用户有空间表也有属性表,用SQL语句删除了整个用户及表空间,重新创建把属性表dmp 导入进去, 再把空间要素集导入的时候报错说:table already registered
  • 问题分析
    按照报的错想了一下可能是之前用ArcMap 粘贴要素时sde把对应的表名称、字段名称、路径等信息记录到sde中的表里,因为删除的时候用动态SQL语句把用户删了, 但空间数据对应的sde中的注册信息没有被删除。
  • 解决方法
    看了一下sde 用户下面的几个元素注册相关的表,发现之前删过的用户确实有注册的空间表注册信息:


    ArcSde 空间表删除重新粘贴要素集重复问题_第1张图片
    image.png

因此把对应的记录删掉,再重新粘贴空间数据就可以:

   delete from sde.ST_GEOMETRY_INDEX   where owner='testUser';
   delete  from GEOMETRY_COLUMNS     where f_table_schema = 'testUser';
   delete from LAYERS where owner='testUser';
   delete from TABLE_REGISTRY where owner='testUser';
   delete from column_registry where owner='testUser';
   delete from GDB_ITEMS t where t.physicalname like 'testUser%'

你可能感兴趣的:(ArcSde 空间表删除重新粘贴要素集重复问题)