SQL Anywhere 同期クライアント dbmlsync には、一連のイベントフックがオプションで用意されています。これを使用して、同期処理をカスタマイズできます。フックを実装した場合は、同期処理における特定の時点で呼び出されます。
イベントフックを実装するには、特定の名前の SQL ストアドプロシージャを作成します。ほとんどのイベントフックストアドプロシージャは、同期自体と同じ接続で実行されます。
イベントフックを使用して同期イベントのログを取り、処理することができます。たとえば、論理イベントに基づいた同期のスジュール、接続障害のリトライ、またはエラーや参照整合性違反の処理などが可能です。
また、イベントフックを使用して、パブリケーションで簡単に定義できないデータのサブセットを同期することもできます。たとえば、2 つのイベントフックプロシージャを記述して、テンポラリテーブル内のデータを同期することができます。この場合、一方のイベントフックプロシージャでは、同期の前にテンポラリテーブルから永久テーブルにデータをコピーし、他方では同期後にデータを逆にコピーします。
同期処理の整合性は、組み込みトランザクションの順序に依存します。イベントフックプロシージャ内では、暗黙的または明示的なコミットもロールバックも実行しないでください。
フック内の接続設定を変更する場合は、設定を以前の値に復元してから、フックを終了してください。設定を復元しないと、予期しない結果になる場合があります。
同期イベントフックの順序
イベントフックプロシージャ
sp_hook_dbmlsync_abort
sp_hook_dbmlsync_all_error
sp_hook_dbmlsync_begin
sp_hook_dbmlsync_communication_error
sp_hook_dbmlsync_delay
sp_hook_dbmlsync_download_begin
sp_hook_dbmlsync_download_end
sp_hook_dbmlsync_download_log_ri_violation
sp_hook_dbmlsync_download_ri_violation
sp_hook_dbmlsync_download_table_begin
sp_hook_dbmlsync_download_table_end
sp_hook_dbmlsync_end
sp_hook_dbmlsync_log_rescan
sp_hook_dbmlsync_logscan_begin
sp_hook_dbmlsync_logscan_end
sp_hook_dbmlsync_misc_error
sp_hook_dbmlsync_ml_connect_failed
sp_hook_dbmlsync_process_exit_code
sp_hook_dbmlsync_schema_upgrade
sp_hook_dbmlsync_set_extended_options
sp_hook_dbmlsync_set_ml_connect_info
sp_hook_dbmlsync_set_upload_end_progress
sp_hook_dbmlsync_sql_error
sp_hook_dbmlsync_upload_begin
sp_hook_dbmlsync_upload_end
sp_hook_dbmlsync_validate_download_file
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |