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

SQL Anywhere 12.0.1 » MobiLink - 服务器启动的同步 » 服务器启动的同步设置 » 监听器 » 消息处理程序 » 高级消息处理程序功能

 

按远程 ID 过滤消息

可以使用 dblsn -r 选项和 $remote_id 操作变量按远程 ID 过滤消息。

第一次同步 SQL Anywhere 远程数据库时,将创建包含数据库 ID 的远程 ID 文件。此文件采用与数据库相同的名称(但具有 .rid 扩展名),并与数据库存储在同一目录中。对于 UltraLite 数据库,没有远程 ID 文件;远程 ID 直接从数据库提取。

启动 MobiLink 监听器时,使用 dblsn -r 选项提供远程 ID 文件或 UltraLite 数据库的名称和位置,然后使用 dblsn -l 选项创建消息处理程序。

可以将远程 ID 直接键入消息过滤器。但在缺省情况下,远程 ID 是 GUID;除非提供一个有意义的名称,否则远程 ID 不容易记住。

注意

在 dblsn 命令行中,可以指定 -r 和 -l 选项的多个实例。在 -l 选项中使用的 $remote_id 操作变量始终在前面的 -r 选项中指定。所以,在 -l 选项之前指定 -r 选项非常重要。

以下示例演示如何使用多个远程 ID。它假定设备上有一个名为 business.db 的 SQL Anywhere 数据库和一个名为 personal.udb 的 UltraLite 数据库。在此示例中,ulpersonal 是 UltraLite 应用程序的窗口类名。

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;"
 另请参见