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

SQL Anywhere 12.0.1 » MobiLink - 入门 » MobiLink 教程 » 教程:对 SQL Anywhere 统一数据库使用 MobiLink

 

第 3 课:创建同步模型

本课假定您已完成前面的所有课程。 请参见第 1 课:设计模式

在本课中,您将使用 [创建同步模型向导] 创建新的同步模型。

必须先使用 [创建项目向导] 创建一个新的 MobiLink 项目,才能创建同步模型。然后可以通过 [创建项目向导] 访问 [创建同步模型向导]。

 ♦ 创建新的 MobiLink 项目和同步模型
  1. 单击 [开始] » [程序] » [SQL Anywhere 12] » [管理工具] » [Sybase Central]。

  2. 单击 [工具] » [MobiLink 12] » [新建项目]。

    将出现 [创建项目向导]。

  3. 在 [您要为新项目指定什么名称] 字段中键入 [mlsqla_project]。

  4. 在 [要将新项目保存在何处] 字段中键入 C:\mlsqla,然后单击 [下一步]。

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

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

  7. 单击 [编辑]。

  8. 在 [连接到通用 ODBC 数据库] 页面上执行以下任务:

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

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

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

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

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

  12. 在 [您要指定什么名称来作为新远程模式名称] 字段中键入 [mlsqla_remote_schema]。

  13. 从 [此远程模式名称适用于哪种类型的数据库] 选项中选择 [UltraLite],然后单击 [完成]。

  14. 提示您安装 MobiLink 安装脚本时,单击 []。

  15. 单击 [确定]。

    将出现 [创建同步模型向导]。

  16. 在 [您要给新同步模型指定什么名称] 字段中,键入 [sync_mlsqla],然后单击 [下一步]。

  17. 在 [主键需求] 页面中,选中全部三个复选框(在以后课程中保证主键唯一性)。单击 [下一步]。

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

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

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

    • Customers
    • CustomerProducts
    • Products
    • SalesOrders
  21. 单击 [下一步]。

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

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

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

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

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

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

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

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

    3. 单击 [下一步]。

  25. 单击 [是,向每个远程数据库下载相同的数据]。

  26. 单击 [下一步]。

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

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

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

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

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

    3. 单击 [完成]。

  29. 在 Sybase Central 中,单击 [视图] » [文件夹]。

  30. 在左窗格中 [MobiLink 12] 下,依次展开 [mlsqla_project]、[同步模型] 和 [sync_mlsqla]。

  31. 在 Sybase Central 右窗格中执行以下任务:

    1. 单击 [事件] 选项卡。

    2. 将 Customers 表的下载游标更新为仅从东部地区下载客户信息。

      使用以下查询将 Customers 表的现有 SQL 脚本替换为 download_cursor 事件:



      SELECT "GROUPO"."Customers"."ID",
      	"GROUPO"."Customers"."Surname",
      	"GROUPO"."Customers"."GivenName",
      	"GROUPO"."Customers"."Street",
      	"GROUPO"."Customers"."City",
      	"GROUPO"."Customers"."State",
      	"GROUPO"."Customers"."Country",
      	"GROUPO"."Customers"."PostalCode",
      	"GROUPO"."Customers"."Phone",
      	"GROUPO"."Customers"."CompanyName",
      	"GROUPO"."Customers"."Region"
      FROM "GROUPO"."Customers"
      INNER JOIN "GROUPO"."Customers_mod" ON "GROUPO"."Customers"."ID" = 
          "GROUPO"."Customers_mod"."ID"
      WHERE Region = 'Eastern';
    3. 将 CustomerProducts 下载游标更新为仅下载东部地区客户的客户产品。

      使用以下查询将 CustomerProducts 表的现有 SQL 脚本替换为 download_cursor 事件:

      SELECT "DBA"."CustomerProducts"."ID", 
          "DBA"."CustomerProducts"."SalesOrderID", 
          "DBA"."CustomerProducts"."CustomerID", 
          "DBA"."CustomerProducts"."ProductID" 
      FROM "DBA"."CustomerProducts" 
      INNER JOIN "GROUPO"."Customers" ON "GROUPO"."Customers"."ID" = 
          "DBA"."CustomerProducts"."CustomerID"
      WHERE "GROUPO"."Customers"."Region" = 'Eastern';
    4. 将 SalesOrders 下载游标更新为仅下载东部地区客户的销售订单信息。

      使用以下查询将 SalesOrders 表的现有 SQL 脚本替换为 download_cursor 事件:



      SELECT "GROUPO"."SalesOrders"."ID",
           "GROUPO"."SalesOrders"."CustomerID",
           "GROUPO"."SalesOrders"."OrderDate",
           "GROUPO"."SalesOrders"."FinancialCode",
           "GROUPO"."SalesOrders"."Region",
           "GROUPO"."SalesOrders"."SalesRepresentative"
      FROM "GROUPO"."SalesOrders"
      WHERE "GROUPO"."SalesOrders"."Region" = 'Eastern' 
      AND "GROUPO"."SalesOrders"."ID" IN 
      (SELECT "DBA"."CustomerProducts"."SalesOrderID" 
      FROM "DBA"."CustomerProducts");
  32. 保存同步模型。

    单击 [文件] » [保存]。

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

  33. 前进至第 4 课:部署同步模型

 另请参见