Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

begin_upload_deletes 表事件


功能 

紧接在上载已从远程数据库的特定表中删除的行之前,处理与该特定表有关的语句。

参数 

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

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

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

无。

说明 

在应用客户端表(由第二个参数指定)中的行删除操作所带来的更改之前执行该事件。

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

另请参见 
SQL 示例 

begin_upload_deletes 连接事件用于执行在为特定表上载插入和更新操作之后、上载删除操作之前所需执行的任何步骤。下面的 Adaptive Server Anywhere SQL 脚本创建一个临时表,用于在上载过程中临时存储删除操作。

call ml_add_table_script(
 'ver1',
 'sales_order',
 'begin_upload_deletes',
 'CREATE TABLE #sales_order_deletes
(
   id         integer NOT NULL default autoincrement,
   cust_id      integer NOT NULL,
   order_date      date NOT NULL,
   fin_code_id   char(2) NULL,
   region      char(7) NULL,
   sales_rep      integer NOT NULL,
   PRIMARY KEY (id),
)' )
Java 示例 

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

call ml_add_java_table_script( 'ver1', 'table1',
'begin_upload_deletes',
'ExamplePackage.ExampleClass. beginUploadDeletes' )

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

public String beginUploadDeletes( 
   String user,
   String table )
 throws java.sql.SQLException
{  java.lang.System.out.println( "Starting upload
   deletes for table: " + table );
    return( null ); }
.NET 示例 

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

call ml_add_dnet_table_script( 'ver1', 'table1',
  'begin_upload_deletes',
  'TestScripts.Test.BeginUploadDeletes'
)

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

public void BeginUploadDeletes( string user,
  string table )
{  System.Console.WriteLine( "Starting upload
   deletes for table: " + table );
    return( null ); }

Collection Contents 上一页 下一页 PDF