Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

modify_error_message 连接事件


功能 

该脚本可用于自定义发送给远程数据库的消息文本(错误、警告和信息)。

参数 

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

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

参数 说明
1 error_message VARBINARY(1024)。这是一个 INOUT 参数。
2 ml_username VARCHAR(128)
3 error_code INT
缺省操作 

无。

说明 

modify_error_message 事件的 SQL 脚本必须作为存储过程实现。

SQL 示例 

下面的示例下载前一天的所有内容,不管那之后数据库是否进行过同步。

首先,为 Adaptive Server Anywhere 统一数据库创建一个过程:

CREATE PROCEDURE ModifyLastDownloadTimestamp(
  inout last_download_time TIMESTAMP,
  in user_name VARCHAR(128) )
BEGIN
  SELECT dateadd(day, -1, last_download_time )
  INTO last_download_time
END

然后,在 Adaptive Server Anywhere 统一数据库中安装该脚本:

call ml_add_connection_script(
  'modify_ts_test',
  'modify_last_download_timestamp',
  'call  ModifyLastDownloadTimestamp ( ?, ? )' )
Java 示例 

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

call ml_add_java_connection_script(
  'ver1',
  'modify_last_download_timestamp',
  'ExamplePackage.ExampleClass.modifyLastDownloadTimestamp' )

下面是示例 Java 方法 modifyLastDownloadTimestamp。它输出当前新的时间戳并修改传入的时间戳。

public String modifyLastDownloadTimestamp(
     Timestamp last_download_time,
     String user_name )
{  java.lang.System.out.println( "old date: " +
   last_download_time.toString() );
   last_download_time.setDate(
   last_download_time.getDate() -1 );
   java.lang.System.out.println( "new date: " +
   last_download_time.toString() );
   return( null ); }

Collection Contents 上一页 下一页 PDF