适用于移动设备的销售订单示例

新建日期: 2006 年 4 月 14 日

该示例是用于合并复制的销售订单示例的移动设备版。此示例重点说明如何将 Microsoft SQL Server Compact Edition (SQL Server 2005 Compact Edition) 用作合并复制拓扑中的订阅服务器以向移动设备用户传递数据。它还阐释了 SQL Server 2005 Compact Edition 中复制的可编程技术功能。此示例是基于 Windows 窗体的应用程序,它使用标准的 Microsoft 数据访问技术和合并复制,使得销售人员能够在定期与总部同步的同时,维护自己的本地数据。此示例中使用的发布是在安装用于合并复制的销售订单示例时创建的。有关在此示例中使用的复制应用场景的详细信息,请参阅Sales Orders Sample Scenario

语言

  • C#

必备组件

在运行此示例之前,请确保开发计算机中安装了下列软件:

  • .NET Framework SDK 2.0 或 Microsoft Visual Studio 2005 Service Pack 1 (SP1) 或更高版本。有关详细信息,请参阅安装 .NET Framework SDK
  • Microsoft SQL Server Compact Edition (SQL Server 2005 Compact Edition).
  • Microsoft ActiveSync 4.0 或更高版本。
  • SQL Server 2005 Service Pack 2 (SP2) 或更高版本。
  • SQL Server 2005 示例。这些示例包含在 SQL Server 2005 中,也可以从 SQL Server 开发中心获取。有关详细信息,请参阅安装示例

您还必须具有一个移动设备或移动设备仿真程序(随 Microsoft Visual Studio 2005 提供),该设备至少应有 15 MB 的可用内存来部署和运行示例。

若要初始化订阅并将销售订单数据下载到设备上,则必须对 SQL Server 2005 发布服务器进行配置以运行用于合并复制的销售订单示例

所需的权限

配置和运行销售订单示例所需的权限取决于复制的安全要求,这些权限如下所述:

  • 若要在发布服务器上运行 InstallSalesOrdersSample.bat,您的 Windows 帐户必须是发布服务器上 sysadmin 固定服务器角色的成员。此批处理文件可以配置复制、创建 AdvWorksSalesOrders 发布并可生成初始快照。
  • 若要初始化订阅并使数据与发布服务器同步,用于连接 Web 服务器的 Windows 帐户必须满足以下要求:
    • 在发布服务器上,有一个与发布数据库中的用户相关联的有效登录名。
    • 在分发服务器上,有一个与分发数据库中的用户(或 guest 用户)相关联的有效登录名。
    • 该帐户是用于 AdvWorksSalesOrders 发布的发布访问列表 (PAL) 的成员。
    ms365205.note(zh-cn,SQL.90).gif注意:
    如果使用匿名连接 Web 服务器,系统将使用 IIS 匿名 Windows 帐户来连接发布服务器。
  • 若要使用安全套接字层 (SSL) 加密来连接 Web 服务器,必须将用于保护 Web 服务器的服务器证书的根证书副本,作为根证书安装到设备中。如果 Web 服务器配置为要求客户端证书,您还必须将有效证书作为个人证书安装到设备中。

生成和配置示例

配置复制拓扑并生成和部署示例项目:

  1. 在发布服务器上,从销售订单示例中运行发布安装脚本。
  2. 生成销售订单示例并在 Web 服务器上部署业务逻辑处理程序程序集。
  3. 运行“配置 Web 同步”向导以配置虚拟目录。
  4. 使用 Visual Studio 2005 生成该示例并将其部署到设备或设备仿真程序中。

配置发布服务器并生成和部署该示例项目

  1. 在运行 SQL Server 2005 的计算机上,从用于合并复制的销售订单示例执行安装脚本,以在发布服务器上创建 AdvWorksSalesOrders 发布。

    ms365205.note(zh-cn,SQL.90).gif注意:
    销售订单示例配置脚本仅可为 SQL Server 2005 和 SQL Server Express 订阅服务器配置 Web 同步。
  2. 在命令提示符下,导航到 SQL Server 2005 示例安装目录。默认位置为 C:\Program Files\Microsoft SQL Server\90\Samples。

  3. 在 .NET Framework 或 Microsoft Visual Studio 2005 命令提示符下执行以下命令:

    sn -k SampleKey.snk

    ms365205.note(zh-cn,SQL.90).gif注意:
    如果之前已为另一示例创建了此密钥,则可跳过此步骤。
  4. 导航到 Microsoft Visual C# 中的销售订单示例解决方案的安装位置。默认位置为 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\Merge\SalesOrders\CS。

  5. 打开 Visual Studio 2005 中的 SalesOrders.sln 解决方案文件。

  6. 生成项目。

  7. 将 BusinessLogic.dll 程序集的一个副本放在 Web 服务器上的 C:\Program Files\Microsoft SQL Server\90\COM 目录中。

  8. 运行“配置 Web 同步”向导,创建一个名为“SalesOrdersMobile”的虚拟目录。有关如何运行此向导的信息,请按照 SQL Server 2005 Compact Edition 联机丛书中的如何使用配置 Web 同步向导配置连接主题中的步骤操作。

    ms365205.note(zh-cn,SQL.90).gif注意:
    如果要求客户端证书与 Web 服务器连接,您必须在设备中安装一个有效的个人证书。
  9. 如果使用匿名来连接 Web 服务器,则请在发布服务器上为用于匿名访问的 Windows 帐户创建一个登录名,在 AdventureWorks 数据库中为该登录名创建一个用户,然后将此用户添加到用于 AdvWorksSalesOrders 发布的 PAL 中。有关详细信息,请参阅如何管理发布访问列表中的登录名 (SQL Server Management Studio)

  10. 导航到 Microsoft Visual C# 中的 Sales Orders Mobile 设备示例解决方案的安装位置。默认位置为 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\Merge\SalesOrdersMobile\CS。

  11. 打开 Visual Studio 2005 中的 SalesOrdersMobile.sln 解决方案文件。

  12. 连接设备或设备仿真程序并启动 ActiveSync。

  13. 生成项目并将其部署到设备中。

运行示例

运行 Sales Orders Mobile 设备示例并同步数据

  1. 将设备放入底座并确保 ActiveSync 正在运行。

  2. 若要使用 SSL 来保护与 Web 服务器的连接,请导出用于保护 SalesOrdersMobile 虚拟目录(以 DER 编码二进制 X.509 格式)的服务器证书的根证书,将其复制到设备中,然后点击并将其作为根证书安装到设备中。如果要求客户端证书与 Web 服务器连接,您还必须在设备中安装一个有效的个人证书。

    ms365205.security(zh-cn,SQL.90).gif安全说明:
    如果使用基本身份验证来连接 Web 服务器,则应使用 SSL 来加密到 Web 服务器的连接。这样可以保护 Windows 凭据。
  3. 在设备上,启动 Internet Explorer 并浏览下列 URL 之一:

    • http://webserver/SalesOrdersMobile/sqlcesa30.dll?diag - 使用匿名访问 Web 服务器时。
    • https://webserver/SalesOrdersMobile/sqlcesa30.dll?diag - 使用 SSL 连接到 Web 服务器并指定用于基本身份验证的 Windows 登录名和密码时。
  4. 在设备或设备仿真程序中,启动 SalesOrdersMobile 程序。此程序在第一次运行时,将创建 SQL Server 2005 Compact Edition 订阅数据库 (\My Documents\AWMobile.sdf)。

  5. 在**“设置”**页,以下列格式之一输入发布服务器的名称和 Web 服务器的 URL:

    • http://webserver/SalesOrdersMobile/sqlcesa30.dll。当选中**“匿名连接到服务器”**框时,将使用此 URL。
    • https://webserver/SalesOrdersMobile/sqlcesa30.dll。当取消选中**“匿名连接到服务器”框时,将使用此 URL。您还必须在“Windows 登录名”“密码”**字段中指定 Windows 登录名和密码,这些值是与发布服务器和分发服务器上的 Windows 登录名对应的凭据。
  6. 单击**“保存”**保存这些设置。

  7. 在**“同步”页上,验证“主机名”字段中的值,对“同步类型”选择“完全(建议)”,然后单击“同步”**。该设备会连接到指定的 Web 服务器,以创建和初始化应用程序并为其下载订阅数据。

更新销售订单数据并与发布服务器同步

  1. 初始化订阅后,请在**“文件”**菜单上点击 View Orders,并从 Customers 列表中选择一个客户。

  2. 若要更新现有订单,请在 Orders 表中点击一个现有订单,然后执行下列操作之一:

    • 若要更新现有项,请双击 Order Items 网格中的一项,更改所选项的 Quantity 值,然后点击**“保存”**。
    • 若要向订单中添加新项,请点击**“新添”,从“类别”“产品”列表中选择产品,在 Quantity 字段中设置订单数量,然后点击“保存”**。
    • 若要从订单中删除现有项,请在 Order Items 网格中选中该项,然后点击**“删除”**。
  3. 从**“工具”菜单中点击“同步”,在“同步类型”列表中选择“完全(推荐)”“仅限上载”,然后点击“同步”**。