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 教程 » 教程:将 MobiLink 与 Adaptive Server Enterprise 统一数据库结合使用

 

第 4 课:创建同步模型

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

♦  创建同步模型
  1. 启动 Sybase Central。

  2. 选择 [工具] » [MobiLink 11] » [设置 MobiLink 同步]。

  3. 在 [欢迎] 页面上的 [您要给新同步模型指定什么名称] 字段中键入 sync_ase,并指定新模型的位置。单击 [下一步]。

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

  5. 在 [统一数据库模式] 页面上执行以下操作:

    1. 单击 [选择统一数据库]。

    2. 单击 [ODBC 数据源名称],然后选择 ase_cons

    3. 在 [用户 ID] 字段键入 sa

    4. 在 [口令] 字段中键入 sa

    5. 单击 [确定]。

      如果这是 MobiLink 第一次使用统一数据库,将出现一条消息,询问您是否安装 MobiLink 系统设置。单击 []。

    6. 单击 [下一步]。

  6. 在 [远程数据库模式] 页面上,单击 [否,新建一个远程数据库模式]。单击 [下一步]。

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

    • au_pix
    • authors
    • discounts
    • sales
    • salesdetail
    • stores
    • titleauthor
    • titles
  8. 单击 [下一步]。

  9. 在 [下载类型] 页面上,单击 [基于时间戳的下载]。单击 [下一步]。

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

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

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

  11. 在 [下载删除] 页面上执行以下操作:

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

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

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

    3. 单击 [下一步]。

  12. 在 [下载子集] 页面上,单击 [是,向每个远程数据库下载相同的数据]。单击 [下一步]。

    在 [模型] 模式一课的步骤 2 中,将指定如何使用自定义逻辑向远程数据库下载特定的数据。

  13. 在 [上载冲突检测] 页面上,单击 [无冲突检测]。单击 [下一步]。

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

  14. 在 [发布、脚本版本和说明] 页面上执行以下操作:

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

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

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

    3. 单击 [完成]。

      模型将以 [模型] 模式出现。

[模型] 模式
  1. 要指定数据的同步方向,在 [映射方向] 列中按以下方式设置方向:

    • Sales 和 salesdetail 表为双向同步(既能上载又可下载)。
    • 其余的表为仅下载同步。
  2. 按远程 ID 过滤下载到远程数据库的行:

    1. 对于 stores 表,将 [下载子集] 更改为 [自定义]。

    2. 在屏幕底部打开 [下载子集] 选项卡。

    3. 远程 ID 可唯一地标识远程数据库。要按远程 ID 过滤行,需要对 download_cursor 脚本的 WHERE 子句添加限制。要执行以上操作,在 [要在下载游标的 WHERE 子句中使用的 SQL 表达式] 文本框中键入以下搜索条件:

      "dbo"."stores"."stor_id" = {ml s.remote_id}

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

    4. 按上述步骤对 sales、salesdetail 和 discounts 表进行操作。您需要在表达式中相应地重命名这些表。

  3. 保存同步模型。

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

进一步阅读