该脚本可用于自定义发送给远程数据库的消息文本(错误、警告和信息)。
在下表中,[说明] 部分提供 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 脚本必须作为存储过程实现。
下面的示例下载前一天的所有内容,不管那之后数据库是否进行过同步。
首先,为 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 ( ?, ? )' )
下面的存储过程调用在同步脚本版本 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 ); }SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。