Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103114174
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-10 20:49:06

  来源:赛迪网    作者:Sybase

步骤清单:

在上一议题中,我们演示了一个最简单的数据同步情景。由此,我们有几点总结:

MobiLink 由服务器端(dbmlsrv9)和客户端(dbmlsync)组成。服务器端与数据中心连接,客户端与远程数据库连接。其中,数据中心可以是任何符合 ODBC标准的数据源,例如Oracle、IBM DB2、MS SQLServer与Sybase ASE等。

MobiLink在同步的过程中首先将远程数据库的数据上载,接着将数据中心的数据下载,以此完成一次同步。

在非常简单的情况下,不需要编写任何脚本。

但是情况总是会变化的。我们可能有特殊要求。例如,我们只需要某一个部门的数据,我们不想把所有的更改都上传到服务器上……那么,通过什么来指挥MobiLink上载或者下发哪些数据呢?就通过在统一服务器端编写的MobiLink的事件和事件中的脚本来控制。

首先,MobiLink的事件分为两大类, 第一大类是连接事件,这类事件在全局范围内指挥MobiLink的行为。第二类事件是表事件,这类事件在某表的范围内指挥MobiLink的行为。MobiLink在不同的阶段触发这些事件,书写在这些事件里面的脚本就能指挥MobiLink的行为。

连接事件:

begin_connection:连接统一数据库后调用
begin_synchronization:在远程连接后,
执行任何数据改变前调用 (参数:ml_username)
begin_upload:在将远程数据库的更改执行到
统一数据库之前调用。
它是upload事务的一部分(参数:ml_username)
end_upload:在将远程数据库的更改执行完成后
调用。upload(上载)阶段随之提交(参数:ml_username)
begin_download:在将数据从统一数据库抽取出
来送至远程数据库前调用。它是下载事务的一部分
(参数:last_download, ml_username)
end_download:在远程数据库实施改变后调用。
下载事务随之提交(参数:last_download, ml_username)
end_synchronization:在执行完改变后与远程
断开连接前调用(参数:ml_username)
end_connection:在与统一数据库断开连接前调用

两个特殊的连接事件:

handle_error:错误处理
report_error:报告错误
阅读(337) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~