download_cursor スクリプトと download_delete_cursor スクリプトによって、同期で使用するテーブルごとに分割を制御します。このスクリプトでは、最後のダウンロードのタイムスタンプと、同期を呼び出すときに指定する Mobile Link ユーザ名という 2 つのパラメータを使用します。
テーブル定義でカラムを指定し、そこに統合データベースの同期ユーザ名を持たせます。このカラムをリモート・データベースにダウンロードする必要はありません。
このカラムがスクリプトのパラメータと一致するように、download_cursor スクリプトと downloade_delete_cursor スクリプトの WHERE 句に条件文を指定します。
スクリプト・パラメータは、スクリプト内で疑問符または名前付きパラメータによって表すことができます。次の例では、download_cursor スクリプトによって、テーブル Contact を emp_id で分割します。
SELECT id, contact_name FROM Contact WHERE last_modified >= {ml s.last_table_download} AND emp_id = {ml s.username} |
download_cursor テーブル・イベントとdownload_delete_cursor テーブル・イベントを参照してください。
CustDB サンプル・アプリケーション内のプライマリ・キー・プール・テーブルを使って、リモート・データベースごとに独自のプライマリ・キー値のセットを指定します。この方法は、プライマリ・キーの重複を避けるために使用します。詳細については、プライマリ・キー・プールの使用を参照してください。
この方法では、プライマリ・キー・プール・テーブルがリモート・データベース間で切断分割されるようにしてください。
キー・プール・テーブル ULCustomerIDPool にあるプライマリ・キー値は、各ユーザが顧客を追加するときに使用します。ULCustomerIDPool テーブルには次の 3 つのカラムがあります。
pool_cust_id ULCustomer テーブルで使用するプライマリ・キー値。このカラムだけがリモート・データベースにダウンロードされます。
pool_emp_id このプライマリ・キーの所有者である従業員。
last_modified このテーブルは、last_modified カラムに基づいたタイムスタンプを使って管理されます。
タイムスタンプの同期については、タイムスタンプベースのダウンロードを参照してください。
このテーブルの download_cursor スクリプトを次に示します。
SELECT pool_cust_id FROM ULCustomerIDPool WHERE last_modified >= {ml s.last_table_download} AND pool_emp_id = {ml s.username} |
変数または名前付きパラメータを使用しない場合は、プレースホルダの "?" を含んだ、ジョインまたはサブ選択を使用できます。
Contact サンプルの顧客の同期とContact サンプルの顧客窓口の同期を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |