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 用 SQL Anywhere クライアント » SQL Anywhere クライアントのイベント・フック

 

sp_hook_dbmlsync_validate_download_file

このフックを使用して、ダウンロード・ファイルがリモート・データベースに適用できるかどうかを決定するためのカスタム論理を実装します。このフックは、ファイルベースのダウンロードが適用される場合のみ呼び出されます。

#hook_dict テーブルのロー

名前

説明

publication_n (in)

パブリケーション名

同期されているパブリケーション (n は整数)。アップロードされるパブリケーションごとに 1 つの publication_n エントリがあります。publication_n と generation number_nn は一致します。n の番号は 0 から始まります。

MobiLink user (in)

Mobile Link ユーザ名

同期対象となる Mobile Link ユーザ。

file last download time (in)

ダウンロード・ファイルの最後のダウンロード時刻 (ダウンロード・ファイルには、最後のダウンロード時刻とその前のダウンロード時刻の間に変更されたすべてのローが含まれます)。

file next last download time (in)

ダウンロード・ファイルの最後から 2 番目のダウンロード時刻 (ダウンロード・ファイルには、最後のダウンロード時刻とその前のダウンロード時刻の間に変更されたすべてのローが含まれます)。

file creation time (in)

ダウンロード・ファイルが作成された時間。

file generation number_n (in)

数値

ダウンロード・ファイルからの世代番号。各 publication_n エントリに対して、1 つのファイル世代番号 number_n があります。publication_n と generation number_nn は一致します。n の番号は 0 から始まります。

user data (in)

文字列

ダウンロード・ファイルが作成されたときに、dbmlsync -be オプションで指定した文字列。

apply file (in|out)

True|False

True (デフォルト) の場合、ダウンロード・ファイルは dbmlsync の他の検証チェックを通過したときだけ適用されます。False の場合、ダウンロード・ファイルはリモート・データベースに適用されません。

check generation number (in|out)

True|False

True (デフォルト) の場合、dbmlsync は世代番号を検証します。ダウンロード・ファイル内の世代番号がリモート・データベース内の世代番号と一致しない場合、dbmlsync はダウンロード・ファイルを適用しません。False の場合、dbmlsync は世代番号をチェックしません。

setting generation number (in)

true | false

ダウンロード・ファイルが作成されたときに -bg オプションが使用された場合は true。-bg が使用された場合、リモート・データベースの世代番号はダウンロード・ファイルから更新され、通常の世代番号チェックは行われません。

備考

このストアド・プロシージャを使用して、ダウンロード・ファイルが適用できるか決定するためのカスタム・チェックを実装します。

ダウンロード・ファイルに含まれる世代番号またはタイムスタンプと、リモート・データベースに格納されている世代番号またはタイムスタンプを比較する場合、それらのデータは SYSSYNC と SYSPUBLICATION システム・ビューから問い合わせることができます。

-ba オプションが指定されていると、このフックが呼び出されます。ダウンロード・ファイルがリモート・データベースに適用される前に呼び出されます。

このフックのアクションは、フックが完了した直後にコミットされます。

参照

次の例では、ユーザ文字列「sales manager data」を含まないダウンロードファイルを適用しません。

CREATE PROCEDURE sp_hook_dbmlsync_validate_download_file ()
BEGIN
  IF NOT exists(SELECT * FROM #hook_dict
   WHERE name = 'User data' AND value='sales manager data')
  THEN
    UPDATE #hook_dict
            SET value = 'false' WHERE name = 'Apply file'; 
  END IF;
END;