Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

同步事件

upload_statistics 表事件


功能 

为特定表跟踪有关上载操作的同步统计信息。

参数 

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

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

参数 说明
1 ml_username VARCHAR(128)
2 table VARCHAR(128)
3 warnings INTEGER
4 errors INTEGER
5 inserted_rows INTEGER
6 deleted_rows INTEGER
7 updated_rows INTEGER
8 conflicted_inserts INTEGER
9 conflicted_deletes INTEGER
10 conflicted_updates INTEGER
11 ignored_inserts INTEGER
12 ignored_deletes INTEGER
13 ignored_updates INTEGER
14 bytes INTEGER
15 deadlocks INTEGER
缺省操作 

无。

说明 

upload_statistics 事件可用于为所有用户收集有关同步事件(当它们应用于任何表时)的重要统计信息。upload_statistics 表脚本紧接在上载事务结束时执行提交操作之前被调用。

另请参见 
SQL 示例 

下面的示例在用于跟踪上载统计信息的表中插入一行。

call ml_add_connection_script(
 'ver1',
 'upload_statistics',
 'INSERT INTO my_upload_statistics
    ( user_name, table_name, num_warnings, num_errors,
      inserted_rows, deleted_rows, updated_rows,
      conflicted_inserts, conflicted_deletes,
      conflicted_updates, ignored_inserts,
      ignored_deletes, ignored_updates, bytes,
      deadlocks )
    VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )'  )

下面的示例在 Oracle 统一数据库中运行。

INSERT INTO upload_tables_audit (
id, user_name, table, warnings, errors,
inserted_rows, deleted_rows, updated_rows,
conflicted_inserts, conflicted_deletes,
conflicted_updates, ignored_inserts, ignored_deletes,
ignored_updates, bytes, deadlocks)
VALUES ( ut_audit.nextval,
?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)

在审计表中记录了统计信息之后,您可以使用这些统计信息监控同步过程并在条件允许时进行优化。

Java 示例 

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

call ml_add_java_table_script(
  'ver1',
  'table1',
  'upload_statistics',
  'ExamplePackage.ExampleClass.uploadStatisticsTable' )

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

public String uploadStatisticsTable(
  String user,
  int warnings,
  int errors,
  int insertedRows,
  int deletedRows,
  int updatedRows,
  int conflictedInserts,
  int conflictedDeletes,
  int conflictedUpdates,
  int ignoredInserts,
  int ignoredDeletes,
  int ignoredUpdates,
  int bytes,
 int deadlocks
)
{  java.lang.System.out.println( "updated rows: " +
   updatedRows ); }
.NET 示例 

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

call ml_add_dnet_table_script(
  'ver1',
  'table1',
  'upload_statistics',
  'TestScripts.Test.UploadTableStats'
)

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

public void UploadTableStats(
  string user,
  string table,
  int warnings,
  int errors,
  int insertedRows,
  int deletedRows,
  int updatedRows,
  int conflictInserts,
  int conflictDeletes,
  int conflictUpdates,
  int ignoredInserts,
  int ignoredDeletes,
  int ignoredUpdates,
  int bytes,
  int deadlocks )
{  System.Console.WriteLine( "updated rows: " +
   updatedRows ); }

Collection Contents 上一页 下一页 PDF