Mobile Link には利用可能なイベントがたくさんありますが、その各イベントに対してスクリプトを作成する必要はありません。簡単な同期モデルの場合、必要なスクリプトはわずかです。
テーブルから各リモート・データベースにすべてのローをダウンロードすると、CustDB サンプル・アプリケーションの ULProduct テーブルと同期します。この場合、リモート・データベースでの追加は許可されません。この簡単な形の同期は、1 つのスクリプトで実装できます。この例では、1 つのイベントだけに関連するスクリプトを使用します。
各同期中にダウンロードするローを制御する Mobile Link イベントは、download_cursor イベントと呼ばれます。カーソル・スクリプトには、SELECT 文が必要です。Mobile Link サーバは、このクエリを使用してカーソルを定義します。download_cursor スクリプトの場合、カーソルによって、リモート・データベース内の特定の 1 テーブルにダウンロードするローが選択されます。
CustDB サンプル・アプリケーションには、このサンプル・アプリケーションにある ULProduct テーブルに対応する download_cursor スクリプトが 1 つあり、次のクエリから構成されています。
SELECT prod_id, price, prod_name FROM ULProduct |
このクエリは結果セットを生成します。クライアントには、この結果セットを構成するローがダウンロードされます。この場合は、テーブルのすべてのローがダウンロードされます。
Mobile Link サーバでは、ULProduct アプリケーション・テーブルへローを送信することを認識しています。これは、このスクリプトが download_cursor イベントと ULProduct テーブルの両方に対応するような方法で統合データベースに格納されているからです。Sybase Central ではこのような対応付けが可能です。
この例では、クエリによって同じ ULProduct という名前の統合テーブルからデータが選択されます。この名前が同じである必要はありません。クエリを書き換えることで、統合データベース内の任意の単一または複数のテーブルのデータを ULProduct アプリケーション・テーブルにダウンロードするようにできます。
より複雑な同期スクリプトを作成することもできます。たとえば、最近修正されたローだけをダウンロードするスクリプトや、リモート・データベースごとに異なる情報を提供するスクリプトを作成できます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |