Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » Mobile Link サーバー起動同期 » サーバー起動同期の設定 » Listener » メッセージハンドラー » メッセージハンドラーの高度な機能

 

リモート ID によるメッセージのフィルタリング

リモート ID によってメッセージをフィルタリングするには、-r オプションと $remote_id action 変数を使用します。

SQL Anywhere リモートデータベースを初めて同期すると、データベースの ID を含むリモート ID ファイルが作成されます。このファイルの名前は、データベースと同じで、拡張子 .rid が付き、データベースと同じディレクトリに保存されます。Ultra Light データベースの場合はリモート ID ファイルがなく、リモート ID はデータベースから直接抽出されます。

Mobile Link Listener を起動する場合は、dblsn -r オプションを使用してリモート ID ファイルまたは Ultra Light データベースの名前とロケーションを指定し、dblsn -l オプションを使用してメッセージハンドラーを作成します。

メッセージフィルターには、リモート ID を直接入力できます。ただし、リモート ID はデフォルトでは GUID なので、わかりやすい名前を指定しないと、簡単に覚えることができません。

注意

dblsn コマンドラインでは、-r オプションと -l オプションの複数のインスタンスを指定できます。-l オプションで使用される $remote_id action 変数は、通常、その前の -r オプションで指定されています。そのため、-l オプションの前に -r オプションを指定することが重要です。

次の例は、複数のリモート ID の使用方法を示します。ここでは、business.db という SQL Anywhere データベースと personal.udb という Ultra Light データベースがデバイス上にあることを前提としています。この例で、ulpersonal は Ultra Light アプリケーションのウィンドウクラス名です。

dblsn ... -r "c:\app\db\business.rid"
    -l "subject=$remote_id;action='dbmlsync.exe -k -c dsn=business';"
    -r "c:\ulapp\personal.udb"
    -l "subject=$remote_id;action=post dbas_synchronize to ulpersonal;"
 参照