协调版本 (Data Management)

许可等级:BasicStandardAdvanced

摘要

根据目标版本协调一个或多个版本。

用法

语法

ReconcileVersions_management (input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log})
参数说明数据类型
input_database

包含要协调的版本的企业级地理数据库。默认情况下,使用在环境中定义的工作空间。

Workspace
reconcile_mode

确定执行工具时要协调的版本。

  • ALL_VERSIONS将编辑版本与目标版本进行协调。这是默认设置。
  • BLOCKING_VERSIONS协调阻止目标版本压缩的版本。此选项使用建议的协调顺序。
String
target_version
(可选)

编辑版本的任何直系版本的名称,例如父版本或默认版本。

通常包含其他版本的编辑内容,用户执行协调后这些内容将放入其编辑版本中。

String
edit_versions
[edit_versions,...]
(可选)

要与所选目标版本进行协调的编辑版本的名称。可以是单个版本名称或版本名称的 Python 列表。

String
acquire_locks
(可选)

确定是否将获取要素锁定。

  • LOCK_ACQUIRED协调过程中获取锁定。要提交编辑时应使用此选项。确保在协调和提交操作之间的时间内没有修改目标版本。这是默认设置。
  • NO_LOCK_ACQUIRED协调过程中不获取任何锁定。此时允许多个用户平行协调。不将编辑版本提交到目标版本时应使用此选项,因为在协调和提交操作之间的时间内可能修改了目标版本。
Boolean
abort_if_conflicts
(可选)

如果在目标版本与编辑版本之间发现冲突,则确定是否应中止协调过程。

  • NO_ABORT在发现冲突时不中止协调过程。这是默认设置。
  • ABORT_CONFLICTS在发现冲突时中止协调过程。
Boolean
conflict_definition
(可选)

描述发生冲突所需的条件:

  • BY_OBJECT协调期间父版本和子版本中的相同行或要素发生任何更改。这是默认设置。
  • BY_ATTRIBUTE协调期间只有父版本和子版本中的相同行或要素的同一属性发生更改。协调期间不同属性所发生的更改不会被视为冲突。
Boolean
conflict_resolution
(可选)

描述检测到冲突时的行为:

  • FAVOR_TARGET_VERSION对于所有冲突,优先使用目标版本进行解决。这是默认设置。
  • FAVOR_EDIT_VERSION对于所有冲突,优先使用编辑版本进行解决。
String
with_post
(可选)

将当前编辑会话提交到已协调的目标版本。

  • NO_POST协调后不将当前编辑版本提交到目标版本。这是默认设置。
  • POST协调后将当前编辑版本提交到目标版本。
Boolean
with_delete
(可选)
  • DELETE_VERSION协调后的当前编辑版本在提交到目标版本后将被删除。
  • KEEP_VERSION不会删除协调后的当前编辑版本。这是默认设置。
Boolean
out_log
(可选)

指定名称和将写入日志文件的位置。日志文件为包含地理处理消息内容的 ASCII 文件。

File

代码实例

协调版本 (ReconcileVersions) 示例(独立脚本):

以下独立脚本演示了如何使用 ReconcileVersions 工具协调在 SDE 连接文件中指定的用户所拥有的所有版本。

# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default

# Import system modules
import arcpy, os
from arcpy import env

# Set workspace
workspace = 'Database Connections//bender@production.sde'

# Set the workspace environment
env.workspace = workspace

# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
           == True and ver.name.lower() != 'sde.default']

arcpy.ReconcileVersions_management(workspace,
                                   "ALL_VERSIONS",
                                   "SDE.Default",
                                   verList,
                                   "LOCK_ACQUIRED",
                                   "NO_ABORT",
                                   "BY_OBJECT",
                                   "FAVOR_TARGET_VERSION",
                                   "NO_POST",
                                   "KEEP_VERSION",
                                   "c:\RecLog.txt")
print 'Reconciling Complete'

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 否
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014