Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Mobile Link クイックスタート » Mobile Link テクノロジ » Sybase Central の Mobile Link プラグイン » 同期モデル » 同期モデルタスク

 

競合の検出と解決

リモートデータベースと統合データベースの両方でローが更新された場合は、次にデータベースを同期するときに競合が発生します。

競合の検出には、次のオプションがあります。

  • [ローベースの競合検出]   最後の同期後に、リモートデータベースと統合データベースの両方でローが更新されていた場合に競合が検出されます。

    このオプションは、upload_fetch スクリプトと upload_update スクリプトを定義します。 upload_fetch または upload_fetch_column_conflict スクリプトによる競合の検出を参照してください。

  • [カラムベースの競合検出]   リモートデータベースと統合データベースの両方で、ローの同じカラムが更新されていた場合に競合が検出されます。

    このオプションは、upload_fetch_column_conflict スクリプトを定義します。 upload_fetch または upload_fetch_column_conflict スクリプトによる競合の検出を参照してください。

    テーブルに BLOB があり、カラムベースの競合検出を選択した場合は、ローベースの競合検出が使用されます。

競合の解決には、次のオプションがあります。

  • [統合]   先入れ勝ちです。アップロードされた更新が競合する場合は破棄されます。

  • [リモート]   後入れ勝ちです。アップロードされた更新が常に適用されます。

  • [タイムスタンプ]   最新の更新が適用されます。このオプションを使用するには、テーブルの TIMESTAMP カラムを作成し、維持する必要があります。この TIMESTAMP カラムに、ローが最後に変更された時刻が記録されます。統合データベースとリモートデータベースの両方にカラムが存在し、タイムスタンプベースのダウンロードで使用されるカラムと異なっている必要があります。これを機能させるには、リモートデータベースと統合データベースで同じタイムゾーン (UTC を推奨) を使用し、かつクロックが同期されている必要があります。

  • [カスタム]   独自の resolve_conflict スクリプトを作成します。スクリプトは [イベント] タブで作成できます。resolve_conflict スクリプトによる競合の解決を参照してください。

 参照

競合の検出と解決の変更