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 教程 » 教程:将 MobiLink 用于 Oracle 10g 数据库

 

第 4 课:创建同步模型

在这一课,您将创建一个用于统一数据库的同步模型。

通过创建新的 MobiLink 项目连接到统一数据库。

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

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

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

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

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

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

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

  8. 在 [用户 ID] 字段键入 OE

  9. 在 [口令] 字段中,键入 sql 帐户的口令。

  10. 在 [ODBC 数据源名称] 字段中,单击 [浏览] 并选择 oracle_cons

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

  12. 选中 [记住口令] 选项,然后单击 [下一步]。

  13. 选择 [创建新模型] 选项,然后单击 [下一步]。

  14. 选中 [将远程模式名称添加到项目] 选项。

  15. 键入 oracle_remote_schema 作为远程模式名称,然后单击 [完成]。

[创建同步模型向导] 提供了在统一数据库和远程数据库之间设置同步的分步说明。

 ♦  创建同步模型
  1. 在 [欢迎] 页面上的 [您要给新同步模型指定什么名称] 字段中键入 sync_oracle,然后单击 [下一步]。

  2. 在 [主键需求] 页面中,将三个复选框全部选中(要保证第 2 课中所述的唯一主键)。单击 [下一步]。

  3. 从列表中选择 oracle_cons 统一数据库,然后单击 [下一步]。

  4. 单击 [否,新建一个远程数据库模式],然后单击 [下一步]。

  5. 在 [新的远程数据库模式] 页面上的 [您要在远程数据库中使用哪些统一数据库表和列] 列表中选择下列表:

    • CUSTOMERS
    • ORDERS
    • ORDER_ITEMS
    • PRODUCT_INFORMATION
  6. 单击 [下一步]。

  7. 单击 [基于时间戳的下载],然后单击 [下一步]。

    基于时间戳的下载可以使所传送的数据量最小,因为此下载类型仅传输自上次下载后经过更新的数据。

  8. 在 [时间戳下载选项] 页面上,单击 [使用影子表来保存时间戳列],然后单击 [下一步]。

    最好选择使用影子表,因为这样不会对现有的表进行任何更改。

  9. 在 [下载删除] 页面上执行以下任务:

    1. 在 [是否要在远程数据库中删除那些在统一数据库中被删除的数据] 选项中,单击 []。

    2. 单击 [使用影子表来记录删除]。

      MobiLink 将在统一数据库中创建影子表,以执行删除。

    3. 单击 [下一步]。

  10. 单击 [是,向每个远程数据库下载相同的数据],然后单击 [下一步]。

    在编辑同步模型时,通过使用自定义逻辑,可指定将特定数据下载到远程数据库的方式。

  11. 单击 [无冲突检测],然后单击 [下一步]。

    尽管本教程未指定任何冲突检测,但许多应用程序都需要进行冲突检测。

  12. 在 [发布、脚本版本和说明] 页面上执行以下任务:

    1. 在 [您要给此发布指定什么名称] 字段中键入 sync_oracle_publication

    2. 在 [您要给此脚本版本指定什么名称] 字段中键入 sync_oracle_scriptversion

      发布是远程数据库上的对象,用于指定要同步的数据。MobiLink 服务器脚本定义了如何将远程数据库上载的数据应用到统一数据库,同时也对脚本版本组的脚本进行了定义。可以针对不同的应用程序使用不同的脚本版本,从而使您只需维护单一 MobiLink 服务器就可同时同步多个不同的应用程序。

    3. 单击 [完成]。

 ♦  编辑同步模型
  1. 在 [视图] 菜单中,选择 [文件夹]。

  2. 在 [MobiLink 12] 下的 Sybase Central 左窗格中,依次展开 oracle_project、[同步模型12] 和 sync_oracle

  3. 在同步模型中为各表设置同步数据的方向。

    在右窗格中,单击 [映射] 选项卡,然后设置各行的 [方向] 列,如下所示:

    • ORDERSORDER_ITEMS 表应设置为 [双向](既能上载又可下载)。
    • 其余表应设置为 [只下载到远程]。
  4. 按远程 ID 过滤下载到远程数据库的行。

    1. 对于包含 ORDERS 表的行,将 [下载子集] 更改为 [自定义]。

    2. 在右窗格底部,单击 [下载子集] 选项卡。

    3. 通过对 download_cursor 脚本的 WHERE 子句添加限制,可按唯一标识远程数据库的远程 ID 过滤行。

      在 [要在下载游标的 WHERE 子句中使用的 SQL 表达式] 字段中键入搜索条件。例如,以下 SQL 脚本可用于 ORDERS 表:

      "OE"."ORDERS"."SALES_REP_ID" = {ml s.remote_id}

      下载游标脚本指定了要从各个表中下载到远程数据库的行和列。上述搜索条件可确保仅下载有关一家书店(即标识符与数据库的远程 ID 相同的那家书店)的信息。

  5. 保存同步模型。

    从 [文件] 菜单中选择 [保存]。

    至此,同步模型创建完成,接下来您可以部署该模型。

 进一步阅读