分类: Sybase
2008-04-10 20:50:53
来源:赛迪网 作者:Sybase |
步骤清单:
在上一部分中,我们看见在download_cursor表事件中有两个参数,其中我们使用了ml_username这个参数。那么, last_download这个参数是怎么使用的呢?我们注意到,last_download这个参数是TIMESTAMP类型的。它指明了上一次下载的时间。我们可以通过比较时间戳,来达到每次仅同步下载自上次下载以来更改过的数据。在下载阶段紧前面的最后一次成功的同步过程中,从统一数据库中获取的时间值即为 last_download 时间戳。如果当前用户从未成功地进行过同步,则该值将被设置为 1900-01-01。下图展示了MobiLink服务器与客户端在首次交互前后last_modified的变化情况:
在真正实施比较之前,我们需要在统一数据库一侧做一些改动,也就是在一些表上增加一个时间戳的字段。比如,我们在录像中对统一数据库实施了以下语句:
Oracle的映射数据类型为date
IBM DB2的映射数据类型为timestamp
MS SQL Server的映射数据类型为datetime
Sybase ASE的映射数据类型为datetime
时间戳方法是可以进行高效的同步的最实用的通用技术。此项技术涉及跟踪每个用户上次进行同步的时间,并使用此信息控制下载到每个远程数据库的行。
MobiLink 保留了一个用以说明每个 MobiLink 用户上一次下载数据的时间戳值。该值被称为上次下载的时间戳。上次下载的时间戳将作为一个参数被提供给许多事件,该时间戳还可以在同步脚本中使用。 |