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 用 SQL Anywhere クライアント » スクリプト化されたアップロード

 

スクリプト化されたアップロードの概要

スクリプト化されたアップグレードは、SQL Anywhere リモート・データベースを使用する Mobile Link アプリケーションだけに適用されます。

警告

スクリプト化されたアップロードを実装した場合、dbmlsync では、アップロードするデータの判別にトランザクション・ログは使用されません。その結果、スクリプトがすべての変更を取得しなかった場合は、リモート・データベース上のデータが失われることがあります。このため、ほとんどのアプリケーションの同期方法としては、ログベースの同期をおすすめします。

ほとんどの Mobile Link アプリケーションでは、データベースのトランザクション・ログによってアップロードが判別されるので、最後のアップロード以降にリモート・データベースに加えられた変更が同期されます。これは、ほとんどのアプリケーションでは適切な設計であり、リモート上のデータが失われないようにしています。

しかし、まれに、トランザクション・ログを無視して、アップロードを定義する必要がある場合があります。スクリプト化されたアップロードを使用すると、アップロードするデータを正確に定義できます。スクリプト化されたアップロードを使用する場合は、リモート・データベースのトランザクション・ログを保持する必要はありません。トランザクション・ログはかなりの領域を占有するため、小型デバイスでは考慮する必要があります。ただし、トランザクション・ログは、データベースのバックアップとリカバリには非常に重要であり、データベースのパフォーマンスの向上に役立ちます。

スクリプト化されたアップロードを実装するには、特殊なパブリケーションを作成し、そのパブリケーションで、作成したストアド・プロシージャの名前を指定します。ストアド・プロシージャは、統合データベースで挿入、更新、または削除するローが含まれる結果セットを返すことによって、アップロードを定義します。

「注意:」スクリプト化されたアップロードとアップロード・スクリプトを混同しないように注意してください。アップロード・スクリプトは、アップロードによりどのような処理を行うかを Mobile Link サーバに指示するための、統合データベース上の Mobile Link イベント・スクリプトです。スクリプト化されたアップロードを使用する場合は、統合データベースにアップロードを適用するためにアップロード・スクリプトを作成し、ダウンロードするデータを指定するためにダウンロード・スクリプトを作成する必要があります。

シナリオ

スクリプト化されたアップロードが役立つシナリオを以下に示します。

  • リモート・データベースは記憶領域が限定されているデバイスで実行中で、トランザクション・ログを格納するのに十分な領域がない場合

  • すべてのリモート・データベースからすべてのデータをアップロードして、新しい統合データベースを作成する場合

  • 統合データベースにアップロードされる変更を特定するカスタム論理を作成する場合

警告

スクリプト化されたアップロードを実装する前に、この章全体をお読みください。次の点に特に注意してください。

  • スクリプト化されたアップロードを正しく設定しないと、データが失われます。

  • スクリプト化されたアップロードを実装する場合は、dbmlsync が通常処理するデータを維持または参照する必要があります。これには、データの更新前と更新後のイメージや、同期の進行状況が含まれます。

  • スクリプト化されたアップロードを介して同期している間、リモート・データベース上のテーブルをロックする必要があります。ログベースの同期を行う場合は、ロックする必要はありません。

  • スクリプト化されたアップロードを使用してトランザクション単位のアップロードを実装するのは非常に困難です。