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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link イベント » 同期イベント » Mobile Link イベントの概要

 

ダウンロード中のイベント

次の疑似コードは、ダウンロード・イベント (イベントと同名のスクリプト) が呼び出される順序の概要を示します。

これらのイベントは、Mobile Link イベントの概要に示す完全なイベント・モデルのダウンロードのロケーションで発生します。

------------------------------------------------------
prepare_for_download
------------------------------------------------------

modify_last_download_timestamp
fetch the next download timestamp from consolidated
prepare_for_download
if( modify_last_download_timestamp script is defined
    or prepare_for_download script is defined ) {
    COMMIT
}

------------------------------------------------------
download
------------------------------------------------------

begin_download // Connection event.
for each table being synchronized {
   begin_download // Table event.
}
   handle_DownloadData
   for each table being synchronized {
     begin_download_deletes
     for each row in download_delete_cursor {
       if( all primary key columns are NULL ) {
         send TRUNCATE to remote
       } else {
         send DELETE to remote
       }
     }
     end_download_deletes
     begin_download_rows
     for each row in download_cursor {
       send INSERT ON EXISTING UPDATE to remote
     }
     end_download_rows
   }
   modify_next_last_download_timestamp
   for each table being synchronized {
     if( begin_download table script is called ) {
        end_download // Table event
     }
}
if( begin_download connect script is called ) {
   end_download // Connection event
}
   for each table being synchronized {
     download_statistics   // Table event.
   }
     download_statistics   // Connection event.

COMMIT
注意
  • ダウンロード通知を要求していてもダウンロードの確認をクライアントから受け取らなかった場合、統合データベースではダウンロード・トランザクション全体がロールバックされます。

    SQL Anywhere リモートについては、SendDownloadACK (sa) 拡張オプションを参照してください。Ultra Light リモートについては、Send Download Acknowledgement 同期パラメータを参照してください。

  • ダウンロード・ストリームでは、挿入と更新が区別されません。download_cursor イベントに対応するスクリプトは、ダウンロードされるローを定義する SELECT 文です。クライアントは、ローが存在するかどうかを調べ、適切な挿入操作または更新操作を実行します。

  • ダウンロード処理の最後に、クライアントは自動的に参照整合性に違反するローを削除します。

    参照整合性と同期を参照してください。