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 - サーバ起動同期 » サーバ起動同期の設定 » Listener » メッセージ・ハンドラ » メッセージ・ハンドラの高度な機能

 

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

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

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

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;"
参照