方案是数据库或数据库对象(例如要素类或表)的结构或设计。方案锁指的是其他应用程序正访问数据库,不允许通过添加或移除字段更改其结构。导致方案锁的最常见的原因是在 ArcMap 中显示数据集。
有四条规则总结了使用可能同时被其他应用程序访问的数据时地理处理工具和脚本的行为。
- 即使输出工作空间具有方案锁,工具仍能在输出工作空间创建新数据。这种情况的示例是当 ArcMap 正访问要素数据集时,在 ArcCatalog 中使用创建要素类工具在要素数据集中创建要素类。
- 对数据集方案进行更新的工具总是会受到正在访问该数据集的其他 ArcGIS 应用程序所设置的锁的限制。例如,如果在某个 ArcMap 会话中正显示道路要素类,当其他 ArcMap 会话使用同一道路要素类作为输入时,从此会话执行添加字段工具将失败。此工具失败时会发出错误消息,指出其他用户正在访问数据。
- 脚本总是更新工具在同一脚本内创建的数据的方案,即使当前工作空间正由另一应用程序所使用。例如,脚本工具可在调用应用程序(例如 ArcMap)正在访问个人地理数据库时在该数据库中创建要素类。通常,打开个人地理数据库后,不允许另一进程对数据集的方案进行更改,但是脚本工具可以更改之前创建的要素类的方案。
- 脚本和脚本工具无法修改正由另一应用程序或脚本所访问的数据的方案。这包括从应用程序(例如 ArcMap)传递到脚本工具的数据,因此脚本工具无法对作为参数传递的图层执行添加或删除字段操作。