このストアドプロシージャを使用して、同期が完了する直前にカスタムアクションを追加します。
名前 | 値 | 説明 |
---|---|---|
restart (out) |
sync | download | none |
sync に設定すると、dbmlsync は完了した同期のリトライを行います。true も同じですが、廃止され、値 sync に置き換えられました。 none (デフォルト) に設定すると、dbmlsync はコマンドライン引数の指定に従って、停止するか、または再起動します。false も同じですが、廃止され、値 none に置き換えられました。 download に設定した場合、restartable download パラメータが true であると、dbmlsync は失敗したダウンロードを再起動します。 |
exit code (in) |
数値 |
直前に完了した同期の終了コード。ゼロ以外の値は、同期エラーを表します。 |
publication_n (in) |
パブリケーション |
推奨されていません。代わりに subscription_n を使用します。同期されているパブリケーション (n は整数)。同期されるパブリケーションごとに 1 つの publication_n エントリがあります。n の番号は 0 から始まります。 |
MobiLink user (in) |
Mobile Link ユーザ名 |
同期対象となる Mobile Link ユーザ |
upload status (in) |
not sent | committed | failed | unknown |
dbmlsync がアップロードの受信確認を行おうとしたときに、Mobile Link サーバから返されるステータスを指定します。次のいずれかのステータスになります。
|
script version (in) |
スクリプトバージョン名 |
同期に使用される Mobile Link スクリプトバージョン |
restartable download (in) | true|false |
true の場合、現在の同期のダウンロードが失敗しており、再起動できます。false の場合、ダウンロードが正常に行われたか、再起動できません。 |
restartable download size (in) | 整数 |
restartable download パラメータが true である場合、このパラメータはダウンロードが失敗する前に受信したバイト数を示します。restartable download が false の場合、このパラメータの値は無効です。 |
error hook user state (in) | 整数 |
この値にはエラーについての情報が含まれ、フック sp_hook_dbmlsync_all_error、sp_hook_dbmlsync_communication_error、sp_hook_dbmlsync_misc_error、または sp_hook_dbmlsync_sql_error から送信できます |
subscription_n (in) | サブスクリプション名 | 同期されているサブスクリプションの名前 (n は整数)。これは、同期される各サブスクリプションの subscription_n エントリです。n の番号は 0 から始まります。 |
この名前のプロシージャが存在する場合、各同期の最後に呼び出されます。
再起動パラメータを常に sync に設定するように sp_hook_dbmlsync_end フックが定義されており、ユーザが dbmlsync のコマンドラインで -s sub1、-s sub2 などの形式で複数のサブスクリプションを指定している場合、dbmlsync は最初のサブスクリプションを繰り返し同期し、2 番目のサブスクリプションを同期しません。
このプロシージャのアクションは、実行直後にコミットされます。
MANAGE REPLICATION システム権限を持つユーザが作成できるフックプロシージャ。ただし、フックによる情報のやり取りに使用される #hook_dict table にフックがアクセスできることを確認するには、フックが次のいずれかの要件を満たしている必要があります。
SELECT ANY TABLE および UPDATE ANY TABLE システム権限を持つユーザが所有します。
CREATE PROCEDURE 文の SQL SECURITY INVOKER 句を使用して定義されます。
次の例では、現在の同期のダウンロードが失敗して再起動が可能な場合、ダウンロードは手動で再起動されます。
CREATE PROCEDURE sp_hook_dbmlsync_end() BEGIN -- Restart the download if the download for the current sync -- failed and can be restarted IF EXISTS (SELECT * FROM #hook_dict WHERE name = 'restartable download' AND value='true') THEN UPDATE #hook_dict SET value ='download' WHERE name='restart'; END IF; END; |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |