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 システム・テーブルに格納したりそこで参照することで、同期処理を制御できます。スクリプトは、SQL、Java、または .NET で作成できます。

「Mobile Link 同期論理」は、同期スクリプトを使って指定されます。スクリプトでは次の内容を定義します。

  • リモート・データベースからアップロードしたデータを、統合データベースに適用する方法

  • 統合データベースからダウンロードするデータ

スクリプトは個別の文またはストアド・プロシージャ・コールです。統合データベースに格納されるか、統合データベースで参照されます。スクリプトを統合データベースに追加するには、Sybase Central またはシステム・プロシージャを使用できます。

注意

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

同期中は、Mobile Link サーバがスクリプトを読み込み、統合データベースに対してスクリプトを実行します。

統合データベースに格納されている同期スクリプト。

同期処理には複数の手順があります。各手順は、ユニークなイベントによって識別されます。これらのイベントのいずれかに対応するスクリプトを作成することによって、同期処理を制御します。スクリプトは、特定のイベントで特定の動作を行う必要がある場合にのみ作成します。Mobile Link サーバは、イベントが発生するとそれに対応するスクリプトを実行します。特定のイベントに対してスクリプトを定義していない場合、Mobile Link サーバは単に次の手順に進みます。

たとえば、begin_upload_rows というイベントを考えてみます。スクリプトを作成して、このイベントに関連付けることができます。Mobile Link サーバは、このスクリプトを、必要となった時点で初めて読み込み、同期のアップロード・フェーズ中に実行します。スクリプトを作成しなかった場合、Mobile Link サーバは直ちに次の手順、つまり、アップロードされたローを処理する手順に移ります。

テーブル・スクリプトと呼ばれるスクリプトは、イベントだけでなく、リモート・データベースの特定のテーブルにも対応します。Mobile Link サーバは、いくつかのタスクをテーブル単位で実行します (たとえばローのダウンロード)。同じイベントでもアプリケーション・テーブルが異なれば、複数のスクリプトに対応できます。または、いくつかのアプリケーション・テーブルに対しては複数のスクリプトを定義し、他のアプリケーション・テーブルに対しては何も定義しないこともできます。

イベントの概要については、同期処理を参照してください。

作成可能な各スクリプトの説明については、同期イベントを参照してください。

スクリプトは、SQL、Java、または .NET で作成できます。この章の内容はすべての種類のスクリプトに適用されますが、主に SQL で同期スクリプトを作成する方法について説明します。

SQL、Java、.NET の説明と比較については、サーバ側の同期論理の作成オプションを参照してください。

.NET でのスクリプト作成については、.NET での同期スクリプトの作成を参照してください。

Java でのスクリプト作成については、Java による同期スクリプトの作成を参照してください。

同期スクリプトを実装する方法については、同期の方法を参照してください。


簡単な同期スクリプト