1

我需要修改现有的 Windows CE 应用程序,该应用程序从 SQL Compact 数据库 (sdf) 获取数据,以便在将数据库表(只有 1 个表)与 SQL Server Express 对接时的最新记录更新到机器上。

我遇到了 Microsoft Sync Framework,它似乎能够让我实现我的要求。我尝试了他们的演练之一:创建偶尔连接的智能设备应用程序,但无法使应用程序正常工作(我根据指南以及示例代码创建的应用程序)。WCF 服务已成功托管,我也可以从浏览器浏览到该服务。

我在 SynchronizeMenuItem 的单击事件的下一行遇到错误。

Dim syncStats As Global.Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()

下面是来自输出窗口的跟踪:

“MobileSyncServices.exe”(托管):已加载“System.SR.dll”
System.dll 中发生“System.Net.WebException”类型的
第一次机会异常“System.ServiceModel.EndpointNotFoundException”类型的第一次机会异常发生在System.ServiceModel.dll
System.dll 中发生“System.Net.Sockets.SocketException”类型的
第一次机会异常 System.dll 中发生“System.Net.Sockets.SocketException”类型的第一次机会异常
线程 0x771e2c1e 已退出代码为 0 (0x0)。
mscorlib.dll 中发生了“System.Reflection.TargetInvocationException”类型的第一次机会异常

我一直在尝试找到解决此问题的方法,因为 2 天后我没有遇到任何问题,因此将其发布在这里。我已经安装了所有作为前提条件的框架/服务包。你们有没有人尝试过这个演练并遇到过类似的问题?更让我感到困惑的是,示例代码在我的两台开发机器(一台是 Win XP 和 Win 7)中也失败了。

是否有任何其他替代方法可以在停靠时使用 SQL Express Server 更新 Windows CE 设备中的表?

4

1 回答 1

1

要求是找到一种方法来覆盖停靠设备(通过 ActiveSync/同步中心连接)上的表,通过从 Pocket PC 直接连接到 SQL Server(通过指定任一 ip 地址)来实现这一点。

用户将在系统配置/选项下指定 SQL Server 凭据,该凭据将用于连接到 SQL Server。一旦从服务器中获取所需数据,紧凑型数据库将使用相关数据进行更新。

以下网络资源为解决此问题并实现目标铺平了道路。

  1. 从 Pocket PC 应用程序连接到 SQL Server Express

  2. 从模拟器(或 PDA)访问 SQL Server Express

于 2012-09-10T10:41:06.200 回答