MobiLink开发资源集之MobiLink脚本综述

http://tech.ddvip.com   2007年08月06日    社区交流

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

  两个特殊的连接事件:

handle_error:错误处理
report_error:报告错误

  表事件:

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()'),

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

责编:豆豆技术应用

正在加载评论...