编辑存储在 ArcSDE 地理数据库中的非版本化数据与执行标准数据库事务等效。可在 ArcMap 编辑会话范围内执行事务。启动编辑会话并执行所需操作,如添加、删除或移动要素,以及更新属性等。保存编辑时,所做的编辑以单个事务的形式提交到地理数据库。如果不希望将更改提交到地理数据库,则必须退出编辑会话而不保存。这样会消除自打开编辑会话或自上次保存以来所做的所有编辑。每个事务可包括的操作数量可视需要而定,前提是操作应处于一个编辑会话中。
在 ArcMap 编辑会话中编辑非版本化数据时,对数据源进行直接编辑,非版本化编辑会话并不会像版本化编辑会话那样将更改内容存储在其他表中。这便避免了管理这些附加表的开销,而且您可轻松地调整第三方应用程序,使其可以读取及编辑数据。但这样做的缺点是,因为直接对数据源进行编辑,所以在出错时无法撤消或恢复单独的编辑。撤消编辑的唯一方法是退出编辑会话而不保存,从而撤消所有的编辑内容。
仅可编辑非版本化简单数据 - 点、线、面、注记以及关系。您无法编辑拓扑、网络数据集或几何网络中的要素类。这是因为编辑网络或拓扑中的要素时,网络或拓扑中的要素并未全部锁定,这就意味着,其他编辑者对网络或拓扑中的其他部分进行编辑的方式可能与您的编辑相冲突。
在 ArcSDE 地理数据库中编辑非版本化数据时,必须考虑到 DBMS 行为,如锁定、隔离级别以及用于强制保持数据完整性的 DBMS 约束和触发器。有关详细信息,请参阅相应主题:
编辑非版本化数据仅适用于单用户编辑。如果多个用户要编辑同一个数据集,则建议使用版本化编辑。如果多个用户对非版本化数据进行编辑,数据库用来确保数据完整性的锁定、隔离级别和数据库管理系统约束及触发器就会出现问题。
要在 ArcMap 会话中编辑非版本化数据,需执行以下操作:
- 确保数据已注册到地理数据库。
ArcGIS for Desktop 创建的所有数据集会自动注册到地理数据库。仅在 ArcGIS for Desktop 外部创建数据(如使用 sdetable 命令创建表)时才需要考虑将数据注册到地理数据库。要了解如何将数据注册到地理数据库,请参阅将表注册到地理数据库。
- 确保数据未注册为版本。
在地理数据库中创建数据集时,它不会注册为版本。如果该数据集是已注册为版本的现有数据集,则可对其取消注册。 要了解有关取消将数据注册为版本的详细信息,请参阅将数据注册为版本和将数据取消注册为版本。
- 配置 ArcMap 编辑会话以执行非版本化编辑。
要了解如何执行此操作,请参阅配置 ArcMap 编辑会话以执行非版本化编辑。