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 統合データベース

 

RDBMS 依存の同期スクリプト

Mobile Link では、データを同期するときに使用する規則を定義するために、同期スクリプトを使用しています。同期スクリプトでは次の内容を定義します。

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

  • 統合データベースからリモート・データベースにダウンロードするデータ。

同期スクリプトの作成を参照してください。

スクリプトに記述できるイベントの一覧については、同期イベントを参照してください。

各タイプの統合データベースの固有の情報については、以下の項を参照してください。

.NET 同期スクリプトと Java 同期スクリプト

データベースが使用している SQL 言語のバージョンで同期論理を記述できます。Java または .NET を使用して、より移植性が高く、強力なスクリプトを記述することもできます。Java と .NET は両方とも、各 RDBMS で SQL を使用した場合よりも高い柔軟性を提供し、SQL との完全な互換性も実現します。Java または .NET の同期論理を使用する場合は、セッション全体の変数の保持、ユーザ定義のプロシージャの作成、外部サーバに対する認証の統合などを行うことができます。

Java 同期論理については、Java 同期論理の作成を参照してください。

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

スクリプトからのプロシージャの呼び出し

Microsoft SQL Server などのいくつかのデータベースでは、パラメータを持つプロシージャ・コールは、ODBC の構文を使用して記述する必要があります。

{ CALL procedure_name( {ml param1}, {ml param2}, ... ) }

プロシージャ定義の中でパラメータを OUT または INOUT として定義することで、戻り値を返すことができます。

CHAR カラム

他の多くの RDBMS では、CHAR データ型は固定長で、文字列の長さに合わせてブランクが埋め込まれています。Mobile Link リモート・データベース (SQL Anywhere または Ultra Light) では、CHAR は VARCHAR と同じで、固定幅に合わせて値にブランクが埋め込まれることはありません。SQL Anywhere を統合データベースとして使用していない場合は、統合データベースで CHAR の代わりに VARCHAR を使用することを強くおすすめします。CHAR を使用する必要がある場合は、mlsrv11 -b コマンド・ライン・オプションを使用すると、同期中に文字列から後続ブランクを削除できます。このオプションは、重複を検出するときに使用する文字列の比較にとって重要です。

-b オプションを参照してください。

データ変換

Mobile Link サーバが、SQL Anywhere 以外の統合データベースと通信するときに行われるデータ変換については、リモート・データベースと統合データベース間での Mobile Link データ・マッピングを参照してください。