MobiLink 提供了许多可以利用的事件,但是您不必为每个事件都提供脚本。在一个简单的同步模型中,您可能只需几个脚本。
通过将表中所有的行下载到每一个远程数据库,可以同步 CustDB 示例应用程序中的 ULProduct 表。在这种情况下,在远程数据库上不允许附加任何数据。您可使用单个脚本来实现这种简单的同步;在这种情况下,只有一个事件与该脚本相关联。
控制在每个同步期间下载的行的 MobiLink 事件称为 download_cursor 事件。游标脚本必须包含 SELECT 语句。MobiLink 服务器将使用这些查询来定义游标。如果使用 download_cursor 脚本,则游标将选择要下载到远程数据库中某个特定表的行。
在 CustDB 示例应用程序中,ULProduct 表有一个单独的 download_cursor 脚本,它包含以下查询:
SELECT prod_id, price, prod_name FROM ULProduct |
此查询生成一个结果集。组成此结果集的行将被下载到客户端。在这种情况下,该表中的所有行都将被下载。
因为此脚本与 download_cursor 事件和 ULProduct 表都关联(通过存储在统一数据库中),所以 MobiLink 服务器知道将这些行发送到 ULProduct 应用程序表中。通过 Sybase Central 可以进行这些关联。
在本例中,查询将从别名为 ULProduct 的统一表中选择数据。名称可以不匹配。实际上,您可以通过重新编写该查询,将数据从统一数据库中的任何一个表或多个表的任意组合下载到 ULProduct 应用程序表。
可以编写更为复杂的同步脚本。例如,您可以编写一种仅下载最近修改过的行的脚本,也可编写一种可以为每个远程数据库提供不同信息的脚本。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |