【问题标题】:The best way to update a table on Windows CE device from Server从服务器更新 Windows CE 设备上的表的最佳方法
【发布时间】:2012-09-04 03:08:31
【问题描述】:

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

我遇到了 Microsoft Sync Framework,它似乎足以让我实现我的要求。我尝试了他们的Walkthrough: Creating an Occasionally Connected Smart Device Application 之一,但无法使应用程序正常工作(我根据指南创建的应用程序以及sample code)。 WCF 服务托管成功,我也可以从浏览器浏览到该服务。

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

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

下面是输出窗口的跟踪:

“MobileSyncServices.exe”(托管):已加载“System.SR.dll”
System.dll 中发生了“System.Net.WebException”类型的第一次机会异常
System.ServiceModel.dll 中出现“System.ServiceModel.EndpointNotFoundException”类型的第一次机会异常
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 设备中的表?

【问题讨论】:

  • 您确定您的 Windows CE 设备有 ActiveSync 吗?
  • 是否有任何特定的软件需要安装用于移动的 activesync?我认为它有,因为我可以将应用程序部署到它并与我的电脑同步。但我无法在设备中找到名称为 active sync 的任何特定应用。
  • 如果您可以部署应用程序并进行同步,那么您就有了 activesync

标签: sql-server synchronization windows-ce sql-server-mobile


【解决方案1】:

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

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

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

  1. Connecting to SQL Server Express from a Pocket PC application

  2. Accessing SQL Server Express from the emulator (or PDA)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多