Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

upload_update 表事件


功能 

为 MobiLink 同步服务器提供一个在上载流处理过程中使用的事件,该事件用于处理远程数据库中更新的行。

参数 
子句 参数
SET 非主键列 1

非主键列 2

...

WHERE primary key 1

primary key 2

...

缺省操作 

无。

说明 

基于语句的 upload_update 脚本可用于直接更新列值,该列值由 UPLOAD 语句指定。

WHERE 子句必须包括正被同步的所有主键列。SET 子句必须包含正被同步的所有非主键列。

您可以在 SET 子句中使用表中存在的任意非主键列,MobiLink 将发送正确的列值数目。同样,在 WHERE 子句中,您也可以使用任意数目的主键值,但它们必须都在这里指定,MobiLink 将发送正确的值。MobiLink 将发送这些列值和主键值,发送的顺序与表模式的 MobiLink 报告中列和主键出现的顺序相同。您可以使用 -vh 选项为该表模式确定列的顺序。

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

对于 Java 和 .NET 应用程序,此脚本必须返回有效的 SQL。

另请参见 
SQL 示例 

下例将处理对远程数据库中的 Customer 表所做的更新。该脚本将更新统一数据库中名为 Customer 的表中的值。

call ml_add_table_script(
  'ver1',
  'table1',
  'upload_update',
'UPDATE Customer SET name=?, rep_id=? WHERE cust_id=?')
Java 示例 

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

call ml_add_java_table_script(
  'ver1',
  'table1',
  'upload_update',
  'ExamplePackage.ExampleClass.uploadUpdateTable' )

下面是示例 Java 方法 uploadUpdateTable。它调用名为 genUU 的方法来动态生成一条 UPLOAD 语句。

public string uploadUpdateTable()
{  return( genUU(_curTable) ); }
.NET 示例 

下面的存储过程调用在同步脚本版本 ver1 和表 table1 时将名为 UploadUpdate 的 .NET 方法注册为 upload_update 表事件的脚本。

call ml_add_dnet_table_script(
  'ver1',
  'table1',
  'upload_update',
  'TestScripts.Test.UploadUpdate'
)

下面是调用 UploadUpdate 的 C# 签名。

public string UploadUpdate()

Collection Contents 上一页 下一页 PDF