Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
在上载和下载事务之间处理所需的操作。
在下表中,说明部分提供 SQL 数据类型。如果您使用 Java 或 .NET 编写脚本,则应该使用相应的数据类型。 请参见SQL-Java 数据类型和SQL-.NET 数据类型。
在 SQL 脚本中,可以按名称或使用问号指定事件参数。不建议使用问号,建议您使用命名参数。不能在一个脚本中混合使用名称和问号。如果使用问号,则参数必须按照如下所示的顺序并且仅当没有指定任何后继参数时才是可选的(例如,如果您想使用参数 2,则必须使用参数 1)。如果使用命名参数,则可以按照任何顺序指定任意参数子集。
s.last_download
TIMESTAMP。任何已同步表的上一次下载时间。
1
s.username
VARCHAR(128)。MobiLink 用户名。
2
无。
MobiLink 服务器在上载事务和下载事务的开始之间,在独立事务中执行此脚本。
以下对 MobiLink 系统过程的调用在同步脚本版本 ver1 时将名为 prepareForDownload 的 SQL 存储过程注册为 prepare_for_download 事件的脚本。
CALL ml_add_connection_script( 'ver1', 'prepare_for_download', 'CALL prepareForDownload( { ml s.username } )' )
以下是示例 SQL 方法 prepareForDownload。该存储过程准备两个表的下载。例如,它可以从许多表中取得信息并将这些信息存储在临时表中,该临时表被表 T1 和 T2 的 download_cursor 脚本所引用。
CREATE PROCEDURE prepareForDownload ( IN ts TIMESTAMP, IN "user" VARCHAR(128)) BEGIN CALL prepareT1Download( user, ts ); CALL prepareT2Download( user, ts ); END;
以下对 MobiLink 系统过程的调用在同步脚本版本 ver1 时将名为 prepareForDownload 的 Java 方法注册为 prepare_for_download 事件的脚本。
CALL ml_add_java_connection_script( 'ver1', 'prepare_for_download', 'ExamplePackage.ExampleClass.prepareForDownload' )
以下是 Java 方法 prepareForDownload 示例。该方法准备两个表的下载。例如,它可以从许多表中取得信息并将这些信息(以及 Java 可访问的其它信息)存储在临时表中,该临时表被表 T1 和 T2 的 download_cursor 脚本所引用。
public String prepareForDownload( Timestamp ts, String user ) { prepareT1ForDownload( _syncconn, user, ts ); prepareT2ForDownload( _syncconn, user, ts ); return( null ); }
以下对 MobiLink 系统过程的调用在同步脚本版本 ver1 时将名为 PrepareForDownload 的 .NET 方法注册为 prepare_for_download 连接事件的脚本。
CALL ml_add_dnet_connection_script( 'ver1', 'prepare_for_download', 'TestScripts.Test.PrepareForDownload' )
以下是 .NET 方法 PrepareForDownload 示例。该方法准备两个表的下载。例如,它可以从许多表中取得信息并将这些信息(以及 .NET 可访问的其它信息)存储在临时表中,该临时表被表 T1 和 T2 的 download_cursor 脚本所引用。
public string PrepareForDownload( DateTime ts, string user ) { PrepareT1ForDownload ( _syncConn, user, ts ); PrepareT2ForDownload ( _syncConn, user, ts ); return ( null ); }