1、 概述
基於ArcSDE的數據庫的最大好處是支持多用戶的同時訪問和編輯等。版本化是允許多用戶同時進行數據編輯的重要手段。
版本是整個地理數據庫在某個時刻的快照,其中包含地理數據庫中的所有數據集。版本不僅僅備份地理數據庫。相反,版本及其內部進行的事務可通過系統表進行追蹤。這樣可隔離用戶在多個編輯會話中的工作,使得用戶進行編輯時不必鎖定生產版本中的要素或直接影響到其他用戶,且無需備份數據。利用版本化,多個用戶可對ArcSDE地理數據庫中的同一數據進行編輯,而無需應用鎖或複製數據。
2、 版本編輯
在ArcGIS中版本編輯的一般流程主要包括以下幾步:連接SDE數據庫,註冊數據爲版本,開始編輯數據,協調版本,提交數據。下面是這個過程的詳細說明。
2.1 連接SDE數據庫
要對存儲在基於SDE的數據庫中的數據進行版本編輯,首先需要連接到SDE數據庫。在ArcGIS中即可以在ArcCatalog中也可以在ArcMap的Catalog窗口中的Database Connection節點下進行數據庫的連接。雙擊Database Connection節點後,出現如圖1所示的空間數據庫連接對話框: (空間數據庫鏈接界面)
空間數據庫的連接有通過SDE服務鏈接和直接連接兩種方式,對於不同數據庫(Oracle、DB2等),連接對話框中的參數填寫方式請參見ArcGIS Desktop Help專業庫中數據管理\使
用ArcCatalog\連接到地理數據庫\連接到ArcSDE地理數據庫主題中的內容。
2.2 註冊數據爲版本
連接到SDE數據庫後將SDE中的數據添加到ArcMap中進行版本編輯之前,必須對要編輯的數據或數據集註冊爲版本,註冊爲版本的過程如下:在Catalog窗口中右鍵要編輯的數據或數據集,在彈出的快捷菜單中選擇註冊版本命令,如圖2所示:
由於將數據註冊爲版本後,數據不能再執行這些操作:
創建拓撲。
添加或從拓撲中移除要素類。
添加或移除拓撲規則。
數據註冊爲版本後,將數據添加到ArcMap中就可以像編輯其他非版本數據一樣進行版本化數據了。需要注意的是,如果要對數據源進行編輯,需要對數據進行非版本化編輯。執行非版本話編輯後,編輯操作不能撤銷或恢復。在ArcMap中,默認情況下對ArcSDE中的數據執行的編輯操作是版本化編輯,如果要對數據執行非版本化編輯,需要在ArcMap中對編輯會話進行配置,具體配置過程如下:
1、在編輯工具欄的編輯器下拉菜單中,選擇選項命令,如圖4所示:
2.4 版本協調
由於版本編輯允許多個用戶同時對數據庫進行編輯,可能的情況有以下兩種:1、同一個版本同時被多個用戶編輯;2、多個用戶對不同版本進行編輯。執行完版本編輯後,可能希望將更改內容合併到該版本的任意父版本,要合併更改,必須先協調版本,解決衝突。衝突發生的情況:
1、對於多個用戶同時編輯的同一個版本的情況。如果多個用戶同時對某個要素的同一屬性進行了更新,當一個用戶保存編輯後,另外的用戶在保存編輯內容時候將會出現衝突;如果一個用戶刪除了某個要素並保存了該操作,另外的用戶對該要素進行了更新當更新的用戶保存編輯內容的時候會出現衝突;在ArcGIS中,多個用戶同時編輯同一個版本的協調時ArcGIS自動執行的,可以在ArcMap的編輯選項中設置協調過程中的一些操作,過程如下:
A:在ArcMap中右鍵工具欄處的空白處,調出版本管理工具欄,如下圖9所示:
2.5 提交更改
執行完版本協調和衝突解決以後,可以將數據更改合併到某個版本中,合併的過程既是,版本提交,版本提交的過程如下: 1、調出版本管理工具條;
2、在版本管理工具條上點擊提交版本工具,如圖11所示: