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

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

 

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

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

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

  • 使用 Sybase Central 中的 [MobiLink 管理] 模式:

    使用 Sybase Central 连接到 CustDB 数据库,将 upload_insert 脚本的语言更改为 Java,然后指定 CustdbScripts.UploadInsert 来处理事件。

  • 使用 ml_add_java_table_script 存储过程:

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

♦  指定 CustdbScripts.UploadInsert 来处理 ULCustomer upload_insert 事件
  1. 使用 Sybase Central 的 [MobiLink 管理] 模式连接到示例数据库:

    1. 启动 Sybase Central。

    2. 单击 [视图] » [文件夹]。

    3. 单击 [连接] » [使用 MobiLink 11 连接]。

    4. 单击 [标识] 选项卡。

    5. 单击 [ODBC 数据源名称],然后键入 SQL Anywhere 11 CustDB

    6. 单击 [确定]。

    Sybase Central 在 MobiLink 11 插件下显示 CustDB 数据源。

  2. 将 ULCustomer 表的现有 upload_insert 事件删除:

    1. 在左窗格中,双击 [同步表] 文件夹,然后选择 ULCustomer 表。在右窗格中,出现一个表级别脚本列表。

    2. 选择与 custdb 11.0 upload_insert 事件关联的表脚本。单击 [编辑] » [删除]。

    3. 在 [确认删除] 窗口中,单击 []。custdb 11.0 upload_insert 事件即从 ULCustomer 表中删除。

  3. 为 ULCustomer 表创建一个新的 upload_insert 事件:

    1. 在 [同步表] 文件夹中选择 ULCustomer 表,然后单击 [文件] » [新建] » [表脚本]。

    2. 选择 custdb 11.0 作为脚本版本。

    3. 选择 upload_insert 作为要创建的事件,然后单击 [下一步]。

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

    5. 单击 [完成]。

  4. 指示 MobiLink 服务器对 upload_insert 事件运行 CustdbScripts.UploadInsert 方法。

    1. 选择 custDB 11.0 - upload_insert 脚本。

    2. 在右窗格中,输入以下代码:

      CustdbScripts.UploadInsert
    3. 单击 [文件] » [保存]。

  5. 退出 Sybase Central。

此步骤使用 Sybase Central 将 Java 方法指定为 ULCustomer upload_insert 事件的脚本。

或者,也可以使用 ml_add_java_connection_script 和 ml_add_java_table_script 存储过程。如果使用大量 Java 方法处理同步事件,则使用这些存储过程效率更高。

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

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

    1. 单击 [开始] » [程序] » [SQL Anywhere 11] » [Interactive SQL],或运行以下命令:

      dbisql
    2. 单击 [标识] 选项卡。

    3. 单击 [ODBC 数据源名称],然后键入 SQL Anywhere 11 CustDB

    4. 单击 [确定]。

  2. 在 Interactive SQL 中运行以下命令:

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

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

    参数 说明
    custdb 11.0 脚本版本。
    ULCustomer 同步表。
    download_cursor 事件名称。
    CustdbScripts.DownloadCursor 完全限定的 Java 方法。
  3. 退出 Interactive SQL。

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

进一步阅读

有关使用存储过程来添加脚本的详细信息,请参见ml_add_java_connection_script 系统过程ml_add_java_table_script 系统过程

有关添加和删除同步脚本的一般信息,请参见添加和删除脚本