Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

begin_upload 表事件


功能 

紧接在 MobiLink 同步服务器开始处理上载的插入、更新和删除操作的流之前,处理与特定的表有关的语句。

参数 

在下表中,[说明] 部分提供 SQL 数据类型。如果您使用 Java 或 .NET 编写脚本,则应该使用相应的数据类型。请参见 SQL-Java 数据类型SQL-.NET 数据类型

只有当未指定任何后续参数时,事件参数才是可选的。如果要使用参数 2,您必须使用参数 1。

参数 说明
1 ml_username VARCHAR(128)
2 table VARCHAR(128)
缺省操作 

无。

说明 

MobiLink 同步服务器执行该事件是对上载的信息进行处理的第一步。上载信息是在单独的一个事务中进行处理的。执行该事件是该事务中的第一步表特定的操作。

您可以为远程数据库的每个表编写一个 begin_upload 脚本。只有在对表实际进行同步时才会激活相应的脚本。

另请参见 
SQL 示例 

在从远程数据库上载行时,您可以将所做的更改放入一个中间表中并亲自手工处理这些更改。您可以在该事件中填入一个全局临时表。

call ml_add_table_script( 
  'version1', 
  'Leads',
  'begin_upload', 
  'insert into T_Leads SELECT *
FROM Leads WHERE Owner = @EmployeeID')
Java 示例 

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

call ml_add_java_table_script( 
  'ver1',
  'table1',
  'begin_upload',
  'ExamplePackage.ExampleClass.beginUploadTable'
 )

下面是示例 Java 方法 beginUploadTable。它将消息输出到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)

public String beginUploadTable( String user,
String table )
{  java.lang.System.out.println("Beginning to process upload for: " + table);
return( null ); }
.NET 示例 

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

call ml_add_dnet_table_script(
  'ver1', 'table1', 'begin_upload',
  'TestScripts.Test.BeginTableUpload'
)

下面是示例 .NET 方法 BeginTableUpload。它将消息输出到 MobiLink 输出日志。(这在开发时可能会有帮助,但会降低生产服务器的性能。)

public void BeginTableUpload(
  string user,
  string table )
{  System.Console.WriteLine("Beginning to process upload for: " + table);
return( null ); }

Collection Contents 上一页 下一页 PDF