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

 

dbmlsync のフックの概要

SQL Anywhere 同期クライアント dbmlsync には、一連のイベント・フックがオプションで用意されています。これを使用して、同期処理をカスタマイズできます。フックを実装した場合は、同期処理における特定の時点で呼び出されます。

イベント・フックを実装するには、特定の名前の SQL ストアド・プロシージャを作成します。ほとんどのイベント・フック・ストアド・プロシージャは、同期自体と同じ接続で実行されます。

イベント・フックを使用して同期イベントのログを取り、処理することができます。たとえば、論理イベントに基づいた同期のスジュール、接続障害のリトライ、またはエラーや参照整合性違反の処理などが可能です。

また、イベント・フックを使用して、パブリケーションで簡単に定義できないデータのサブセットを同期することもできます。たとえば、2 つのイベント・フック・プロシージャを記述して、テンポラリ・テーブル内のデータを同期することができます。この場合、一方のイベント・フック・プロシージャでは、同期の前にテンポラリ・テーブルから永久テーブルにデータをコピーし、他方では同期後にデータを逆にコピーします。

警告

同期処理の整合性は、組み込みトランザクションの順序に依存します。イベント・フック・プロシージャ内では、暗黙的または明示的なコミットもロールバックも実行しないでください。

また、フック内の接続設定を変更すると、予期しない結果になる場合があります。フック内の接続設定の変更が必要な場合は、フックに古い値を復元してから、フックを完了してください。

dbmlsync インタフェース

クライアント・イベント・フックは、dbmlsync コマンド・ライン・ユーティリティと一緒に使用できます。または、SQL Anywhere クライアントの同期に使用するいずれのプログラミング・インタフェースとも一緒に使用できます。これには、dbmlsync API と dbmlsync 用の DBTools インタフェースが含まれます。

dbmlsync の同期のカスタマイズを参照してください。


同期イベント・フックの順序
イベント・フック・プロシージャの使用