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 クライアントが同期を開始すると、複数の同期イベントが発生します。同期イベントが発生すると、Mobile Link はその同期イベントに対応するスクリプトを探します。このスクリプトには、実行する作業の詳細を示す指示が含まれています。イベント用のスクリプトが定義され、Mobile Link システム・テーブルに格納されている場合は、そのスクリプトが呼び出されます。

Mobile Link スクリプト

イベントに関連するスクリプトが作成されている場合、イベントの発生時に Mobile Link サーバがそのスクリプトを実行します。スクリプトが存在しなければ、次の順位のイベントが発生します。

注意

同期モデル作成ウィザードを使用して Mobile Link アプリケーションを作成すると、必要な Mobile Link のスクリプトがすべて自動的に作成されます。ただし、デフォルトのスクリプトをカスタマイズしたり、新しいスクリプトを作成することもできます。

テーブルに対する一般的なアップロード・スクリプトを以下に示します。最初のイベント upload_insert は、upload_insert スクリプトの実行をトリガします。このスクリプトにより、emp_id カラムと emp_name カラムのすべての変更が emp テーブルに挿入されます。upload_delete スクリプトと upload_update スクリプトは、emp テーブルでの削除と更新アクションに対して同様の機能を実行します。

イベント スクリプトの内容例
upload_insert
INSERT INTO
emp (emp_id,emp_name)
VALUES {ml r.emp_id}, {ml r.emp_name}
upload_delete
DELETE FROM emp
WHERE emp_id = {ml r.emp_id}
upload_update
UPDATE emp
SET emp_name = {ml r.emp_name}
WHERE emp_id = {ml r.emp_id}

ダウンロード・スクリプトはカーソルを使用します。次に、download_cursor スクリプトの例を示します。

SELECT order_id, cust_id
FROM ULOrder 
WHERE last_modified >= {ml s.last_table_download}
AND emp_name = {ml r.emp_id}

イベントとスクリプトの詳細については、次の項を参照してください。

SQL、Java、または .NET でスクリプトを作成可能

統合データベースのネイティブ SQL ダイアレクトを使用するか、Java または .NET の同期論理を使用して、スクリプトを記述できます。Java と .NET の同期論理を使用すると、Mobile Link サーバによって呼び出されるコードを記述して、データベースへの接続、変数の操作、アップロードされたロー・ハンドリングの直接操作、またはダウンロードへのロー・ハンドリングの追加が可能です。同期の要件に適したクラスとメソッドを持つ Mobile Link サーバ API (Java 用と .NET 用) があります。

サーバ側の同期論理の作成オプションを参照してください。

RDBMS 依存のスクリプト記述については、Mobile Link 統合データベースを参照してください。

スクリプトの格納

SQL スクリプトは統合データベースの Mobile Link システム・テーブルに格納されます。Mobile Link サーバ API を使用して記述されたスクリプトの場合は、完全に修飾されたメソッド名をスクリプトとして格納します。スクリプトを統合データベースに追加する方法は複数あります。

  • 同期モデル作成ウィザードを使用する場合は、プロジェクトを展開するときにスクリプトが Mobile Link システム・テーブルに格納されます。

  • 統合データベースを設定するときにインストールされたストアド・プロシージャを使用して、スクリプトを手動でシステム・テーブルに追加できます。

  • Sybase Central を使用して、スクリプトをシステム・テーブルに手動で追加できます。

スクリプトの追加と削除を参照してください。