为 Windows Mobile 应用程序添加数据复制的 5 个步骤






4.33/5 (3投票s)
2007 年 4 月 18 日
4分钟阅读

54379

529
本文旨在展示如何通过使用 .NET (C#) 将数据复制添加到移动应用程序。
引言
本文使用的应用程序基于 UltraLite 10 数据库,并将使用一种名为 MobiLink 10 的技术,以实现移动 UltraLite 数据库与中央数据库之间的数据交换。虽然 MobiLink 能够与大多数主流数据库(包括 SQL Server、IBM DB2、Oracle 和 Sybase)同步,但为了演示的目的,我们将使用 SQL Anywhere 作为中央(整合)数据库。所有这些工具都包含在免费的 SQL Anywhere 10 开发者版中。
要求
要开始开发应用程序,需要以下工具
- 本文使用的示例应用程序:“使用 .NET 和 UltraLite 10 创建 Windows Mobile 数据库应用程序的 10 个步骤”
- SQL Anywhere 10 开发者版
- Visual Studio .NET 2005
- Windows Mobile 5 软件开发工具包(标准版和专业版)
步骤 1:设置远程数据库
在我之前的 教程 中,我们创建了一个针对 Windows Mobile (WinCE) 设备的远程 UltraLite 数据库和移动 .NET 应用程序。请确保您已完成此教程,以确保您能够熟练使用 UlltraLite 数据库。
步骤 2:设置复制
在本文中,我将不详细介绍使用 MobiLink 设置数据复制的过程,因为关于此主题已经有很多优秀的 文章 和 网络讲座。在您下载的项目(来自上方)中,有一个名为 `\db` 的子目录,其中包含一个名为 `start_ml.bat` 的批处理文件。执行此文件可以创建一个新的 SQL Anywhere 中央数据库。它还将启动一个 MobiLink 服务器并将其连接到中央 SQL Anywhere 数据库。此时,MobiLink 正在等待客户端同步请求。
步骤 3:向移动应用程序添加复制逻辑
现在中央数据库和 MobiLink 已配置并启动,下一步是添加逻辑以从移动设备发起数据复制到 MobiLink 服务器(MobiLink 服务器进而从中央 SQL Anywhere 数据库请求数据)。打开从先前教程创建的应用程序,并添加一个名为 `btnSync` 的按钮(如下图所示)。

双击该按钮以添加以下同步代码
private void btnSync_Click(object sender, EventArgs e)
{
// Initiate data replication
try
{
ConnUL.SyncParms.UserName = "user1";
ConnUL.SyncParms.Stream = ULStreamType.TCPIP;
ConnUL.SyncParms.StreamParms = "";
ConnUL.SyncParms.Version = "customer";
ConnUL.Synchronize();
}
catch (System.Exception t)
{
MessageBox.Show("Synchronization Error: " + t.Message);
}
}
步骤 4:启动模拟器
由于我们将要测试数据复制,因此需要启动模拟器,并建立模拟器与桌面之间的实际 Active Sync 连接。为此,请选择“工具”|“设备模拟器管理器”。右键单击其中一个 Windows Mobile 5.0 模拟器,然后选择“连接”。

模拟器启动后,打开桌面上的 Active Sync,然后选择“文件”|“连接设置”。启用“允许连接到以下任一项:”,然后从下面的组合框中选择 DMA,然后按“确定”。

在设备模拟器管理器中,右键单击选定的模拟器并选择“安装”(如下图所示)。这应该会创建一个到模拟器的 Active Sync 连接。注意:如果出现问题,请尝试禁用 Active Sync 应用程序中的 DMA 选项,然后重新启用它。

步骤 5:部署和测试移动应用程序
现在我们已经建立了 Active Sync 连接,可以部署移动应用程序了。在 Visual Studio 中,将目标从“Windows Mobile 5.0 Pocket PC 模拟器”更改为“Windows Mobile 5.0 Pocket PC 设备”,然后选择“生成”|“部署解决方案”。

应用程序成功部署后,在设备上打开文件资源管理器,切换到 `\Program Files\SimpleUL` 目录,然后单击 `SimpleUL` 应用程序。


此时,我们可以通过单击“同步”按钮来发起与 MobiLink 服务器的连接。您应该会在 MobiLink 服务器窗口中看到几行日志,表明已将 5 行数据下载到移动设备。请再次尝试同步。这次您应该会注意到没有下载任何行,因为 MobiLink 只发送新的数据更改。

后续步骤
至此,我们已经设置了移动数据库与中央服务器之间的双向信息交换。下一步很明显是实现修改移动数据库并上传更改的功能。由于远程数据库已经跟踪更改,因此所需的唯一更改是实现数据上传,以修改移动应用程序以插入、更新或删除数据。
摘要
在本文中,我们使用单个独立数据库创建了一个非常简单的数据复制应用程序。MobiLink 服务器是一个极高性能的服务器,能够扩展到支持数十万移动用户(例如 2008 年美国人口普查,将使用 MobiLink 支持 50 万移动人口普查工作人员)。由于 MobiLink 支持服务器端大多数现有的数据库,因此可以轻松地将其集成到任何现有的公司系统中。