このストアド・プロシージャを使用して、アップロード転送の直前にカスタム・アクションを追加します。
名前 |
値 |
説明 |
---|---|---|
Publication_n (in) |
パブリケーション名 |
同期されているパブリケーション (n は整数)。アップロードされるパブリケーションごとに 1 つの publication_n エントリがあります。n の番号は 0 から始まります。 |
MobiLink user (in) |
Mobile Link ユーザ名 |
同期対象となる Mobile Link ユーザ。 |
Script version (in) |
スクリプト・バージョン名 |
同期に使用される Mobile Link スクリプト・バージョン。 |
この名前のプロシージャが存在する場合、dbmlsync がアップロードを送信する直前に呼び出されます。
このプロシージャのアクションは、実行直後にコミットされます。
次のテーブルを使用して、リモート・データベース上の同期イベントのログを取るとします。
CREATE TABLE SyncLog ( "event_id" INTEGER NOT NULL DEFAULT AUTOINCREMENT , "event_name" VARCHAR(128) NOT NULL , "ml_user" VARCHAR(128) NULL , "event_time" TIMESTAMP NULL, "table_name" VARCHAR(128) NULL , "upsert_count" VARCHAR(128) NULL , "delete_count" VARCHAR(128) NULL , "exit_code" INTEGER NULL , "status_retval" VARCHAR(128) NULL , "pubs" VARCHAR(128) NULL , "sync_descr " VARCHAR(128) NULL , PRIMARY KEY ("event_id"), ); |
次に、アップロードの転送の直前に Mobile Link ユーザと現在のタイムスタンプのログを取る例を示します。
CREATE PROCEDURE sp_hook_dbmlsync_upload_begin () BEGIN INSERT INTO SyncLog (event_name, ml_user,event_time) SELECT 'upload_begin', #hook_dict.value, CURRENT TIMESTAMP FROM #hook_dict WHERE name = 'MobiLink user'; END; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |