zoukankan      html  css  js  c++  java
  • Objects in this class cannot be updated outside

    问题

        外地出差的同事小周反映图形系统编辑时报"Objects in this class cannot be updated outside an edit session"错误,这个问题我网上搜了下被我找出原因来了,呵呵!属于程序的问题。

        当一个要素类参与了一个拓扑(或Geometry  Network)之后,对该要素类执行创建要素、修改要素图形或属性时,可能会出现这个异常:'Objects in this class cannot be updated outside an edit session'

    原因
        这是由于ArcEngine应用程序中使用的 License权限不足引起的。在ArcEngine 应用程序里面通过ArcSDE进行编辑需要License'ArcGIS Engine Enterprise Geodatabase',或ArcEditor或ArcInfo。

     解决办法
        在ArcEngine应用程序的LicenseInitializer.InitializeApplication中,为程序增加Geodatabase的编辑权限。


        
    Public Function InitializeApplication As Boolean

           '……
           licenseStatus = CheckOutLicensesesriLicenseProductCode.esriLicenseProductCodeEngineGeoDB

            licenseStatus = CheckOutLicensesesriLicenseProductCode.esriLicenseProductCodeEngine
           
           '……
        End Function

     由于同事在外地出差,程序没法修改,删除拓扑规则了事,不过这个bug还是要提交的。

    用ArcGIS Engine对存储于ArcSDE中的数据时行编辑时会出现错误,错误提示为:Objects in this class cannot be updated outside an edit session,出现该错误时可以从以下几个方面去找一下问题:
       1.检查ArcGIS Engine的License文件的授权是否设置了ArcGIS Engine Enterprise GEo...
       2.检查是否注册了版本
       3.检查是否在数据库有与该图层有关系的图层,如拓扑关系,相连的注记层等。这些图层会占用编辑图层,出现错误

       4.检查要素的空间索引是否缺失。
       以上仅供参考,希望会对大家有所帮助!

  • 相关阅读:
    Identity Server4 基础应用(一)Client Credentials
    AX2012 form displays unusually because of native resolution issues(由于本机高分辨率问题导致AX2012界面显示异常)
    AX视图View中添加静态方法
    AX2012导Demo数据
    AX多线程编译
    C# ListView用法详解 很完整
    用 C# 如何判断数据库中是否存在一个值
    ASCII码对照表
    C#中Chart的简单使用(柱状图和折线图)
    使用Filezilla Server配置FTP服务器
  • 原文地址:https://www.cnblogs.com/curtful/p/2208867.html
Copyright © 2011-2022 走看看