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 テクノロジの概要 » Mobile Link 同期の概要 » 同期処理

 

同期処理のトランザクション

Mobile Link サーバは、各 Mobile Link クライアントからアップロードされた変更を、1 回のトランザクションで統合データベースに組み込みます。Mobile Link サーバは、新しいローの挿入、古いローの削除、更新の実行、競合の解決が完了した後で、これらの変更をコミットします。

Mobile Link サーバは、別のトランザクションを使用して、ブロッキング・ダウンロードを準備します。このダウンロードには、すべての削除、挿入、更新処理が含まれます。ダウンロード確認を指定した場合は、クライアントが正常なダウンロードを確認すると、Mobile Link サーバがダウンロード・トランザクションをコミットします。ブロッキング・ダウンロード確認が指定されていて、アプリケーションで問題が発生したり返信できなかったりする場合は、Mobile Link サーバがダウンロード・トランザクションをロールバックします。デフォルトでは、ダウンロード確認は使用されません。

注意

SQL 同期スクリプト、または SQL 同期スクリプトから呼び出されるプロシージャやトリガで、暗黙的または明示的なコミットまたはロールバックを実行しないでください。SQL スクリプト内に COMMIT 文または ROLLBACK 文があると、同期手順のトランザクションの性質が変化してしまいます。これらの文を使用すると、Mobile Link では、障害が発生した場合にデータの整合性を保証できません。

ダウンロードした情報の追跡

Mobile Link では、リモート・データベースに格納されている最終ダウンロード・タイムスタンプを使用して、ダウンロードの作成方法が簡素化されます。

ダウンロード・トランザクションの主な役割は、統合データベースのローを選択することです。ダウンロードに失敗しても、リモートが同じ最終ダウンロード・タイムスタンプを繰り返しアップロードするため、データが失われることはありません。

スクリプトでの最終ダウンロード時刻の使用を参照してください。

開始時と終了時のトランザクション

Mobile Link クライアントはダウンロードの情報を 1 回のトランザクションで処理します。ローを挿入、更新、削除して、リモート・データベースを統合データベースの最新の状態にします。

Mobile Link サーバは、他にトランザクションを 2 つ使用します。1 つは同期の開始時に、もう 1 つは同期の終了時に使用します。これらのトランザクションは、各同期とその処理時間に関する情報を記録します。したがって、試行された同期、成功した同期、同期にかかった時間についての統計を記録できます。データは処理のさまざまな時点でコミットされるので、これらのトランザクションによって、データを失敗した同期の分析に役立てられるようにコミットできます。

参照