Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » MobiLink - 入门 » MobiLink 教程 » 教程:使用 Java 同步逻辑

 

第 2 课:指定类方法来处理事件

上一课中创建的 CustdbScripts.class 封装了 UploadInsert 和 DownloadCursor 方法。这些方法分别包含 ULCustomer upload_insert 和 download_cursor 事件的实现。

在本节中,使用两种方法为表级别事件指定类方法:

  1. 通过 Sybase Central 创建 MobiLink 项目。

    使用 Sybase Central 连接到 CustDB 数据库,将 upload_insert SQL 脚本替换为 Java 脚本,然后指定 CustdbScripts.UploadInsert 来处理事件。

  2. 使用 ml_add_java_table_script 存储过程:

    使用 Interactive SQL 连接到 CustDB 数据库并运行 ml_add_java_table_script,指定 CustdbScripts.DownloadCursor 来处理 download_cursor 事件。

 ♦  创建新的 MobiLink 项目
  1. 选择 [开始] » [程序] » [SQL Anywhere 12] » [管理工具] » [Sybase Central]。

  2. 从 [工具] 菜单中,选择 [MobiLink 12] » [新建项目]。

  3. 在 [名称] 字段中键入 mljava_project

  4. 在 [位置] 字段中,键入 C:\mljava,然后单击 [下一步]。

  5. 选中 [将统一数据库添加到项目] 选项。

  6. 在 [数据库显示名称] 字段中键入 mljava_db

  7. 单击 [编辑]。将出现 [连接到通用 ODBC 数据库] 窗口。

  8. 在 [ODBC 数据源名称] 字段中,单击 [浏览],然后选择 SQL Anywhere 12 CustDB

  9. 单击 [确定],然后单击 [保存]。

  10. 单击 [完成]。

  11. 单击 [确定]。

在下一步中,使用 Sybase Central 将 Java 方法指定为 ULCustomer upload_insert 事件的脚本。

 ♦  为 CustdbScripts.UploadInsert 预订 ULCustomer 表的 upload_insert 事件
  1. 从 [视图] 菜单中,选择 [文件夹]。

  2. 在 [MobiLink 12] 下的 Sybase Central 的左窗格中,依次展开 [mljava_project]、[统一数据库]、[mljava_db]、[同步表] 和 [ULCustomer]。

  3. 在右窗格中,选择 custdb 12.0 upload_insert 表脚本。从 [编辑] 菜单中,选择 [删除]。

  4. 创建新的 upload_insert 表脚本。

    1. 从 [文件] 菜单中,选择 [新建] » [表脚本]。

    2. 在 [您要为哪个版本创建表脚本] 列表中,单击 custdb 12.0

    3. 在 [哪个事件应导致执行表脚本] 列表中,单击 [upload_insert],然后单击 [下一步]。

    4. 选择 [创建新脚本定义],然后选择 [Java]。

    5. 单击 [完成]。

  5. 输入 custdb 12.0 upload_insert 表脚本要装载的 Java 方法名称。

    在 Sybase Central 的右窗格中,对 upload_insert 事件使用以下 Java 脚本:

    CustdbScripts.UploadInsert
  6. 从 [文件] 菜单中选择 [保存] 以保存脚本。

  7. 关闭 Sybase Central。

或者,也可以使用 ml_add_java_connection_script 和 ml_add_java_table_script 存储过程。使用这些存储过程效率更高,特别是在使用大量 .NET 方法处理同步事件时。

请参见ml_add_java_connection_script 系统过程ml_add_java_table_script 系统过程

在下一步中,您将通过 Interactive SQL 连接到 CustDB 并执行 ml_add_java_table_script,从而将 CustdbScripts.DownloadCursor 指派给 download_cursor 事件。

 ♦  指定 CustdbScripts.DownloadCursor() 来处理 ULCustomer download_cursor 事件
  1. 使用 Interactive SQL 连接到示例数据库。

    1. 选择 [开始] » [程序] » [SQL Anywhere 12] » [管理工具] » [Interactive SQL],或运行以下命令:

      dbisql
    2. 单击 [ODBC 数据源名称],然后键入 SQL Anywhere 12 CustDB。

    3. 单击 [连接]。

  2. 在 Interactive SQL 中运行以下 SQL 脚本:

    CALL ml_add_java_table_script(
        'custdb 12.0',
        'ULCustomer',
        'download_cursor',
        'CustdbScripts.DownloadCursor');
    COMMIT;

    以下是对每个参数的说明:

    参数 说明
    custdb 12.0 脚本版本。
    ULCustomer 同步表。
    download_cursor 事件名称。
    CustdbScripts.DownloadCursor 完全限定的 Java 方法。
    注意

    更新的 download_cursor 脚本可能不会出现在 Sybase Central 中。要在 Sybase Central 中查看 MobiLink 项目的最新更改,请单击 [视图] 菜单,然后选择 [全部刷新]。

  3. 关闭 Interactive SQL。

在本课中,您指定了 Java 方法来处理 ULCustomer 表级别事件。下一课将确保 MobiLink 服务器装载合适的类文件和 MobiLink 服务器 API。

 进一步阅读