• 从SDE库文件手工删除SDE图层(转载)


    转载自:http://gis-conquer.blog.sohu.com/164467560.html

    一、前言
        虽然Catalog能解决这种问题,但是在特殊情况下也许这种方法有点用途。
        我遇到的情况,在Catalog删除图层失败,提示,Network i/o error,gsrvr进程锁死,确保没有图层锁定,使用了各种方法也无法完成。如重装SDE,删除SDE无法成功删除。终极解决办法就是将数据备份,重新安装Oracle和SDE,不过这种做法对于大数据量来说代价也太大了。

    二、操作

    (1)删除与图层名称相同的表
    (2)删除SDE_geometry_columns中与图层名称相同的记录
    (3)删除SDE_columns_registry中与图层名称相同的记录
    (4)找到SDE_layers表中图层记录,并记下layer_id值,将记录删除。
    (5)根据layer_id值删除以layer_id命名的F表和S表
    (6)找到SDE_table_registry图层记录,并记下registration_id值,将记录删除。
    (7)根据registration_id值删除以registration_id命名的A表、D表和I表。
    (8)删除GDB_OBJECTCLASSES中Id与图层名相同的记录,并记录下ID值。
    (9)根据ID值删除GDB_FIELDINFO中ClassID为registration_id值的所有记录。

    经过上面步骤就可以把图层彻底删除了,这样在Catalog中就看不到删除的图层,同时可以导入相同名称的图层,达到了我们的要求。

    三、总结
       本方法操作比较复杂,如果没有遇到特殊情况尽量不要使用该方法,以免操作不正确造成库文件损坏。

  • 相关阅读:
    利用 img 和 script 发送跨域请求
    tomcat 内存配置
    servlet request.getParamter 有时获取参数为null
    windows本地无法启动sqlserver服务
    mac用virtualbox 装win7联网及分辨率设置
    奇怪的transform bug
    mysql 同时执行多条update语句
    二进制树形算法
    协议栈中使用crc校验函数
    引用布局
  • 原文地址:https://www.cnblogs.com/liwenqiang/p/4112737.html
Copyright © 2020-2023  润新知