在给一个数据图层添加字段的时候,竟然提示SDE被另一个用户或者程序在用...ArcSDE Lock request conflicts with an established lock 等等一串 ,导致无法添加。
顺着提示去检查有没有被其他用户或者哪些服务占用,结果是没有,但是依然不能添加。求助万能的百度(谷歌被封),总结的解决方法有以下几种:
方法1、
多半情况下关闭数据库连接可以解决这个问题,但有时候问题依然存在。
方法2、
》1.关闭所有的ArcMap和ArcCatalog session。
》2.开始——运行——cmd
》3. 在dos下运行命令'sdemon -o kill -t all -p sde'
》3. 在dos下运行命令'sdemon -o kill -t all -p sde'
方法3、
如果以上方法执行后SDE被锁定,那么在sqlplus或者plsql下查询lock表:
SQL> select * from sde.state_locks;
SQL> select * from sde.object_locks;
SQL> select * from sde.layer_locks;
SQL> select * from sde.table_locks;
如果有记录返回,那么手工删除这些表中的记录
SQL> select * from sde.state_locks;
SQL> select * from sde.object_locks;
SQL> select * from sde.layer_locks;
SQL> select * from sde.table_locks;
如果有记录返回,那么手工删除这些表中的记录
方法4、
重启SDE可以解决,但一般不轻易使用
至方法3时,问题就已解决。