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 つは同期の終了時に使用します。これらのトランザクションは、各同期とその処理時間に関する情報を記録します。したがって、試行された同期、成功した同期、同期にかかった時間についての統計を記録できます。データは処理のさまざまな時点でコミットされるので、これらのトランザクションによって、データを失敗した同期の分析に役立てられるようにコミットできます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |