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 は、次のようにタイムスタンプベースのダウンロードのタイムスタンプを生成して使用します。

  • アップロードのコミット後、prepare_for_download イベントを呼び出す直前に、Mobile Link サーバは統合データベースから現在の時刻をフェッチして、値を保存します。このタイムスタンプ値は現在のダウンロードの開始時刻を表します。次回の同期では、この時刻の後に変更されたデータのみをダウンロードします。

  • Mobile Link サーバは、ダウンロードの一部としてこのタイムスタンプ値を送信し、クライアントはそれを保存します。

  • クライアントは次回同期するとき、アップロードと一緒に送信する last_download_timestamp にこのタイムスタンプ値を使用します。

  • Mobile Link サーバは、クライアントがアップロードしたばかりの last_download_timestamp を download_cursor と download_delete_cursor に渡します。すると、カーソルは、最後の last_download_timestamp 以降のタイムスタンプを持つ変更を選択できるので、新しい変更だけがダウンロードされるようになります。

最終ダウンロード時刻が格納される場所

最終ダウンロード時刻は、リモート・データベースに格納されます。この場所は、ダウンロードが正常に適用されたかどうかがわかっているのはリモートのみであるという理由で適切な場所です。

SQL Anywhere リモートでは、最終ダウンロード時刻はサブスクリプションごとに格納されます。SYSSYNC システム・ビューを参照してください。

Ultra Light リモートでは、最終ダウンロード時刻はパブリケーションごとに格納されます。syspublication システム・テーブルを参照してください。

最終ダウンロード時刻の変更

まれな状況として、last_download_timestamp の変更が必要な場合があります。たとえば、リモート・データベースのすべてのデータを誤って削除した場合には、最終ダウンロード・タイムスタンプの値をリセットする modify_last_download_timestamp 接続スクリプトを定義して、リモート・データベースを再同期できます。modify_next_last_download_timestamp という別のイベントもあります。これを使用すると、現在の同期ではなく、次回の同期のタイムスタンプをリセットできます。次の項を参照してください。

Ultra Light にも、リモートから最終ダウンロード時刻を変更する機能があります。次の項を参照してください。

参照