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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-10 20:49:26

 来源:赛迪网    作者:Sybase

表事件:

begin_upload:在远程每张表执行
上载到统一数据库之前调用。
(参数:ml_username, table)
upload_insert:对每一行将送至统
一数据库的插入调用。(参数:col1, 
col2, col3...)
upload_update:对每一行将送至统一
数据库的更新调用。(参数:SET col1, 
col2, ..., colN WHERE pk1, pk2, ..., pkN)
upload_delete:对每一行将送至统
一数据库的删除调用。(参数:pk1, pk2, ..., pkN)
end_upload:在将远程表的更改执行至
统一数据库后调用。(参数:ml_username, table)
begin_download:在统一数据库将每张
表的数据下载前调用。(参数:last_download, 
ml_username, table)
download_cursor:每张表调用一次,将统一数据库
的表数据下载至远程数据库。
(参数:last_download, ml_username)
end_download:在统一数据库将每张表的数据下载后
调用。(参数:last_download, ml_username, table)

需要注意的是,在连接事件和表事件中有一些重复的事件,例如begin_upload,不过它们作用的级别不一样,触发的时间也不一样。对于所有的连接事件,我们都用调用ml_add_connection_script存储过程来实现其中的脚本;对于所有的表事件,我们都通过调用ml_add_table_script存储过程来实现其中的脚本。

例如:

call ml_add_connection_script('Lab', 'begin_download', 
'CALL InitiateDownload()'),

第一个参数是代表脚本版本,第二个参数指明连接事件的名称,第三个参数指定连接事件触发时的逻辑,在这里是调用一个存储过程。再看一个表事件的例子:

call ml_add_table_script('demo2', 'emp', 
'download_cursor', 'SELECT * FROM emp 
WHERE deptno=''0001'''),

第一个参数代表脚本版本,第二个参数指明该事件跟哪个事件相关,第三个参数指明事件的名称,第四个参数是事件触发时执行的语句。在这里,我们指定服务器只将emp中满足deptno='0001'的数据下载至远程。

upload_delete、upload_update和upload_insert里面的参数都是通过?占位符表示的。详细信息,请参看《MobiLink 同步技术用户指南》。

阅读(389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~