操作方法

操作方法:使用 IVersionEdit2 同时协调多个版本

Last Published: January 8, 2021

摘要

组织的工作流可能需要针对通用前导版本同时协调多个版本的功能。 通过强制使用地理数据库对象锁定,ArcMap 和地理数据库工具可随时限制一个版本与通用主要版本进行协调。

注: 本文仅适用于 ArcGIS 8.x 版本。 更高版本的 ArcGIS 可能包含不同的功能,对于菜单、命令和地理处理工具,可能具有不同的名称和位置。

启动协调过程后,将在源版本和目标版本上获得独占式地理数据库对象锁。 由此可防止其他用户编辑源版本并针对目标版本进行协调。

例如,两位用户无法同时将其各自的版本与默认版本进行协调。 可通过设计在 ArcGIS 中实现此行为。 目的是不允许多个协调同时运行,以节省系统(服务器和客户端)资源。

由于只能将一个版本发布到目标版本以确保数据一致性,因此地理数据库也会强制执行此行为。 如果该软件允许同时协调并发布多个版本,则第二个版本将仅覆盖已执行发布的先前版本所应用的更改。

尽管该设计旨在节省系统资源并保证数据完整性,但是某些组织可能仍希望同时执行多个协调。 可以通过使用 IVersionEdit2:Reconcile2 来实现上述目的,同时仍然确保数据完整性。

过程

例如,当用户的意图是在协调过程之后不执行发布时,您的组织可能希望同时协调多个版本。 用户仅希望将当前版本与目标版本合并。

可以使用 IVersionEdit2:Reconcile2 方法执行此操作,该方法类似于 IVersionEdit:Reconcile 方法,但是前者具有一个附加的布尔参数:协调是否应获得地理数据库对象锁。 如果未获得锁定,则仍然可以发布版本,但无法确保自协调完成以来,尚未修改和保存的目标版本。 在这种情况下,将引发错误消息,通知您已重新定义该版本。 此错误意味着您将需要重新执行协调。

以下简短示例将演示 IVersionEdit2:Reconcile2 的用法:

代码: Dim pNewVersion As IVersionEdit2 Set pNewVersion = pWS Dim Success As Boolean Success = pNewVersion.Reconcile2("SDE.DEFAULT", false)

以上代码将针对默认版本来协调当前工作空间版本。 acquireLock 布尔值已设置为 false,这意味着它将不会获得目标版本上的地理数据库对象锁;如果当前正由第二个进程来协调默认版本,则它将失败。 返回的布尔值 success 将指示是否检测到冲突。

文章 ID:000004449

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容