Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步技术

基于时间戳的同步


时间戳方法是可以进行高效的同步的最实用的通用技术。此项技术涉及跟踪每个用户上次进行同步的时间,并使用此信息控制下载到每个远程数据库的行。

MobiLink 保留了一个用以说明每个 MobiLink 用户上一次下载数据的时间戳值。该值被称为上次下载的时间戳。上次下载的时间戳将作为一个参数被提供给许多事件,该时间戳还可以在同步脚本中使用。

如果您正在使用 Adaptive Server Anywhere 统一数据库,而且保存上次修改信息的列的类型为 DEFAULT TIMESTAMP,则不应同步该列。如果您的远程数据库需要这样的列,应使用不同的列名。否则,时间戳的缺省值可能被上载值覆盖,并不会包含上次在统一数据库中修改该行的时间。

实现表的基于时间戳的同步:

  1. 在统一数据库中,添加一列以保存行的最近修改时间。通常可以按照如下方式声明该列:

    DBMS 最近修改的列
    Adaptive Server Anywhere timestamp DEFAULT timestamp
    Adaptive Server Enterprise datetime
    Microsoft SQL Server datetime
    Oracle date
    IBM DB2 timestamp
  2. 在 download_cursor 和 download_delete_cursor 事件的脚本中,将第一个参数与时间戳列中的值进行比较。

示例 

如下表声明及脚本将实现 Contact 示例中 Customer 表的基于时间戳的同步:

有关详细信息,请参见同步逻辑源代码同步 Contact 示例中的联系人


Collection Contents 上一页 下一页 PDF