使用.NET和UltraLite 10创建Windows Mobile数据库应用

在本文中,将探讨如何利用.NET和UltraLite 10技术,创建一个运行在Windows Mobile设备上的数据库应用。将使用MobiLink 10技术来实现移动UltraLite数据库与中央数据库之间的数据交换。尽管MobiLink能够与大多数主流数据库进行同步(包括SQL Server、IBM DB2、Oracle和Sybase),但为了示例的简便性,将使用SQL Anywhere作为中央(合并)数据库。所有这些工具都包含在免费的SQL Anywhere 10 Developer Edition中。

开发应用所需工具

要开始开发应用程序,需要以下工具:

  • SQL Anywhere 10 Developer Edition
  • Visual Studio.NET2005
  • Windows Mobile 5 Software Development Kits (Standard and Professional)

步骤1:设置远程数据库

在上一个教程中,创建了一个远程UltraLite数据库和针对Windows Mobile(WinCE)设备的移动.NET应用程序。请确保已经完成了该教程,以便能够熟练使用UltraLite数据库

步骤2:设置数据复制

在本文中,不会详细介绍如何使用MobiLink设置数据复制,因为已经有大量优秀的文章和网络研讨会讨论了这个话题。在下载的项目中,有一个名为\db的子目录,其中包含一个名为start_ml.bat的批处理文件。执行此文件将创建一个新的SQL Anywhere中央数据库。它还将启动一个MobiLink服务器并将其连接到中央SQL Anywhere数据库。此时,MobiLink正在等待客户端同步请求。

步骤3:在移动应用中添加复制逻辑

现在中央数据库和MobiLink已经配置并启动,下一步是添加逻辑以从移动设备启动数据复制到MobiLink服务器(该服务器反过来请求中央SQL Anywhere数据库的数据)。打开上一个教程中创建的应用程序,并添加一个名为btnSync的按钮(如下图所示)。

C# private void btnSync_Click( object sender, EventArgs e) { // 初始化数据复制 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( " 同步错误: " + t.Message); } }

双击按钮以添加上述同步代码。

步骤4:启动模拟器

由于想要测试数据复制,需要启动模拟器并在模拟器和桌面之间建立一个实际的Active Sync连接。为此,请选择Tools | Device Emulator Manager。右键单击一个Windows Mobile5.0模拟器并选择Connect。

模拟器启动后,在桌面上打开Active Sync(Active Sync),然后选择File | Connection settings。启用"Allows Connections to one of the following:"并从下面的组合框中选择DMA,然后按OK。

在Device Emulator Manager中,右键单击所选模拟器并选择Cradle(如下图所示)。这应该会在模拟器上创建一个Active Sync连接。注意:如果遇到问题,请尝试在Active Sync应用程序中禁用DMA选项,然后再启用它。

步骤5:部署和测试移动应用

现在有了Active Sync连接,可以部署移动应用程序。从Visual Studio中,将目标从"Windows Mobile5.0 Pocket PC Emulator"更改为"Windows Mobile 5.0 Pocket PC Device",然后选择Build | Deploy Solution。

应用程序成功部署后,在设备上打开File Explorer,切换到\Program Files\SimpleUL目录并单击SimpleUL应用程序。

此时,可以通过单击"Synchronize"按钮来启动与MobiLink服务器的连接。应该在MobiLink服务器窗口中看到几行记录,表明有5行数据已下载到移动设备。再次尝试同步。这次应该注意到没有行被下载,这是因为MobiLink只发送了新的数据更改。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485