ArcGis常见错误及解决方法
1、ArcSDE数据被锁定后的解锁方法
描述:(1)删除所选对象失败 锁定请求与已有锁定冲突。
(2)在sde数据被锁定的情况下,编辑、创建featureclass或者注册版本的时候会报告:
Lock request conflicts with an established lock。
多半情况下关闭数据库连接可以解决这个问题,但有时候问题依然存在。
原因:ArcSDE数据被锁定
解决:sqlplus下查询lock表,如果有记录返回,那么手工删除这些表中的记录。
select t.*,t.rowid from sde.state_locks t;
select t.*,t.rowid from sde.object_locks t;
select t.*,t.rowid from sde.layer_locks t;
select t.*,t.rowid from sde.table_locks t;
查询谁锁定:
select t.*,t.rowid from sde.process_information t;
解决2:
1.关闭所有的ArcMap和ArcCatalog session。
2.开始——运行——cmd
3. 在dos下运行命令'sdemon -o kill -t all -p sde'
. 在dos下运行命令'sdemon -o info -I locks'
以上命令均不带 ' 符号
dos窗口报告'no arcsde layer/State/Tabel/Ojbects Locks registered.
一般这种情况下就可以解锁了
2、基础 DBMS 错误 ORA-01950: 对表空间 'SYSTEM' 无权限
描述:新建用户(默认表空间SYSTEM)后用于上传shp,提示该错误
原因:对表空间权限不足,无法提交数据到该表空间
解决:对用于存储矢量数据的用户授权
-- Grant/Revoke role privileges
grant connect to user_name;
grant resource to user_name;
grant select_catalog_role to user_name;
-- Grant/Revoke system privileges
grant unlimited tablespace to user_name;
3、任何ArcGIS连接Oracle问题
描述:ArcMap、ArcCatalog连接Oracle失败问题
原因:一般会直接弹出错误信息,若信息不全,请参考%TEMP% 目录中的 sdedc_Oracle.log 文件以获得更多的错误消息。
4、创建要素类时报错:表已存在[ORA-00955:名称已由现有对象使用]
方案1:
使用sde自带的取消表注册的命令
sdetable -o unregister -t tablename
方案2:
查询注册的表、列信息,删除对应数据
SELECT * FROM sde.LAYERS WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT * FROM sde.TABLE_REGISTRY WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT * FROM sde.COLUMN_REGISTRY WHERE "OWNER" = 'username' AND TABLE_NAME = 'classname';
SELECT * FROM sde.GEOMETRY_COLUMNS WHERE F_TABLE_SCHEMA = 'username' AND F_TABLE_NAME = 'classname';
SELECT * FROM sde.GDB_ITEMS WHERE "NAME" = 'username.classname';
5、ArcGIS 注册版本长时间无响应处理案例
注册版本的内部原理以及解决方法:
注册版本实际上就是为要注册的要素类创建增量表(A,D表),如果对数据集注册版本,实际上就是对数据集下的所有要素类都创建
增量表(是一个要素一个A表一个D表),如果创建到一半无响应后直接杀进程就会出现有些要素类创建了增量表而有些没有创建
增量表这种不一致的状态,因此解决的方法就是手动清除这部分创建好的增量表,让数据集处于一致的状态。
解决步骤:
(1)清除可能存在锁信息。
(2)清除增量表
增量表的定义方式为A_REGISTRATION_ID和D_REGISTRATION_ID. 其中REGISTRATION_ID为SDE.TABLE_REGISTRAY表中的
REGISTRATION_ID字段的值,每张要素类一个值。根据数据集下的图层名称一个一个查找,知道后使用Drop table 删除。
select registration_id from sde.table_registry where table_name=’table_name’
(3)重新注册。
6、ArcMap识别要素后不弹出识别结果窗口,或者识别结果窗口标题栏被菜单栏压盖导致无法拖动
原因:ArcMap记录了各个面板弹出位置,下次再次调用后会自动显示到上次显示的位置,由于各种原因导致识别结果窗口被拖出
屏幕,或者被拖到菜单栏上,导致下次显示出现问题。
解决:打开注册表HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.2\ArcMap\DockingPaneLayouts\panestate\,依次
点击panestate子项,查看右侧值名称Title的数据是否是“识别”,找到后删除该panestate子项,该面板恢复默认弹出位置。
7、影像黑边、形状有外接矩形、颜色有出入
使用数据管理工具|栅格|栅格处理|裁剪,并且在裁剪时勾选 [使用输入要素裁剪几何(可选)],可裁剪出不带外接矩形的影像;
裁剪时[NoData(可选)]值设置为0,就不会有黑边。
黑边是影像的背景值,在图层属性|符号系统中,勾选[显示背景值],值为白色RGB=0,0,0。黑边就不显示了。
8、ArcGIS Server发布服务报错XML Parser initialization failed问题解决
原因:Windows环境中GIS服务大于200个时,尽管CPU、内存等性能指标未达上限,但由于windows非交互桌面堆大小已经耗尽,
从而导致ArcGIS Server中的服务无法启动或发布新的服务失败。
解决:1.关闭不必要的服务;
2.增加非交互式桌面堆大小,HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems,
有一个 SharedSection 参数(或者Windows字符串中),默认SharedSection=1024,20480,768 单位是KB。最后一个数字表示
应该增加的非交互式桌面堆,例如从768 增加到 1024。确保保留完整键值,且仅修改这一部分。
具体参考https://www.cnblogs.com/he-xiang/p/5679450.html
警告:
增加非交互式桌面堆大小可能会导致 Windows 无法启动。 强烈建议保持适当备份并小幅增加非交互式堆(例如,256K),
并在每次迭代后进行测试。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?