変更の同期(Synchronize Changes) (データ管理)
サマリ
ユーザによって指定された同期方向で、2 つのレプリカ ジオデータベース間の変更を同期します。
使用法
-
このツールは、接続環境でレプリカを同期させる場合に使用されます。非接続環境でレプリカを同期させるには、[データ変更メッセージのエクスポート(Export Data Change Message)]、[メッセージのインポート(Import Message)]、[承認メッセージのエクスポート(Export Acknowledgement Message)]、および[非承認メッセージの再エクスポート(Re-Export Unacknowledged Messages)] ツールをご参照ください。
-
このツールを使って、双方向レプリカ、一方向レプリカ、およびチェックアウト レプリカを同期させることができます。
-
レプリカ ジオデータベースは、ローカル ジオデータベースでもジオデータ サービスでもかまいません。
-
いったん同期すると、変更(編集)内容はターゲット ジオデータベースに反映され、すべてのユーザが参照できるようになります。
構文
パラメータ | 説明 | データ タイプ |
geodatabase_1 |
同期するレプリカをホストしているジオデータベース。ジオデータベースは、ローカルでもリモートでもかまいません。 | Workspace ;GeoDataServer |
in_replica |
ある入力ジオデータベース内に親レプリカが格納されていて、他の入力ジオデータベース内に子レプリカが格納されている有効なレプリカ。 | String |
geodatabase_2 |
相対レプリカをホストしているジオデータベース。ジオデータベースは、ローカルでもリモートでもかまいません。 | Workspace; GeoDataServer |
in_direction |
変更内容を送信する方向。[ジオデータベース 1 → ジオデータベース 2]、[ジオデータベース 2 → ジオデータベース 1]、または [両方] の方向に変更内容を送信します。チェックアウト/チェックイン レプリカまたは一方向レプリカの場合、適切な方向は一方向だけです。双方向レプリカの場合、3 つの選択肢のいずれかを選択できます。
| String |
conflict_policy |
競合が検出された場合の、競合の解決方法を指定します。
| String |
conflict_definition |
競合を定義する方法を指定します。
| String |
reconcile reconcile |
データの変更が親レプリカに送信された際に、競合が存在しない場合は親レプリカに自動的に変更をリコンサイルするかどうかを示します。このオプションは、チェックアウト/チェックイン レプリカの場合にのみ有効となります。
| Boolean |
コードのサンプル
次の Python ウィンドウの例は、Python ウィンドウで SynchronizeChanges(変更の同期)関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.SynchronizeChanges_management("MySDEdata.sde", "My2wayReplica", "MySDEdata_child.sde", "BOTH_DIRECTIONS", \
"IN_FAVOR_OF_GDB1", "BY_ATTRIBUTE", "")
次の例は、スタンドアロン Python スクリプトで SynchronizeChanges(変更の同期)関数を使用する方法を示しています。
# Name: SynchronizeChanges_Example2.py
# Description: Synchronizes changes for a one way replica from the Parent
# to the child replica geodatabase. The parent is an ArcSDE workspace, and the child is file geodatabase.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
replica_gdb1 = "MySDEdata.sde"
replica_gdb2 = "Counties_replica.gdb"
replica_name = "MyOneWayReplica"
sync_direction = "FROM_GEODATABASE1_TO_2"
conflict_policy = "" # Not applicable for one way replicas, there is not conflict detection.
conflict_detection = "" # Not applicable for one way replicas, there is not conflict detection.
reconcile = "" # Only applicable for Checkout replicas
# Execute SynchronizeChanges
arcpy.SynchronizeChanges_management(replica_gdb1, replica_name, replica_gdb2, sync_direction, conflict_policy, \
conflict_detection, reconcile)