Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

upload_fetch 表事件


功能 

为 MobiLink 同步服务器提供一个可以在对上载流的基于语句的处理过程中使用的事件,该事件用于识别更新冲突。

参数 
参数
1 primary key 1
2 primary key 2
... ...
缺省操作 

无。

说明 

基于语句的 upload_fetch 脚本用于从同步表中读取行以便检测冲突。它随 upload_update 事件使用。

结果集的列数必须与从远程数据库为该表上载的列数相匹配。如果返回值与上载的行中的前映像不匹配,则会产生冲突。

您可以为远程数据库的每个表编写一个 upload_fetch 脚本。

此脚本在未定义下面的脚本时可能会被忽略:upload_new_row_insert、upload_old_row_insert 和 resolve_conflict。

另请参见 
SQL 示例 

下面的 SQL 脚本来自 Contact 示例并可以在 SQL Anywhere 安装目录的 Samples\MobiLink\Contact\build_consol.sql 中找到。它用于识别在上载远程数据库中 Product 表的更新行时发生的冲突。该脚本从名称也为 Product 的表中选择行,这两个表的名称也可以不匹配,匹配与否取决于统一数据库与远程数据库的模式。

call ml_add_table_script(
  'ver1',
  'table1',
  'upload_fetch',
'SELECT id, name, size, quantity, unit_price
FROM Product WHERE id=?')
Java 示例 

此脚本必须返回有效的 SQL。

下面的存储过程调用在同步脚本版本 ver1 时将名为 uploadFetchTable 的 Java 方法注册为 upload_fetch 表事件的脚本。

call ml_add_java_table_script(
  'ver1',
  'table1',
  'upload_fetch',
  'ExamplePackage.ExampleClass.uploadFetchTable' )

下面是示例 Java 方法 uploadFetchTable。它调用 genUF 来动态生成一条 UPLOAD 语句。

public string uploadFetchTable()
{  return( genUF(_curTable) ); }

Collection Contents 上一页 下一页 PDF