【问题标题】:.NET Compact Framework - SQL Server Compact or Flat File as backup.NET Compact Framework - SQL Server Compact 或平面文件作为备份
【发布时间】:2012-04-01 14:59:35
【问题描述】:

我有一个关于在 Windows 移动应用程序中使用数据库与使用平面文件的优缺点的问题。

我们正在开发一个在 Windows Mobile 6.5 上运行并使用 C#/.NET Compact Framework 3.5 的移动应用程序。

移动组件在库存系统中用于接收交货。然后,这些数据通过 Wi-Fi 使用 Web 服务发送到应用程序服务器。

现在,我们需要实施备份计划。到目前为止,我们同意的是,当移动设备无法将数据发送到服务器时,它必须将其保存在本地,然后稍后再发送。它可以使用移动设备发送,也可以通过 USB 将移动设备对接/连接到 PC,将数据提取出来,PC 可以将其发送到服务器。

我的问题:在这种情况下哪个更好用?部署 SQL Server Compact 或将数据写入平面文件(xml、二进制等)

我想就每种方法的优缺点征求意见,不仅要牢记技术方面,还要牢记所涉及的开发工作。

谢谢!

【问题讨论】:

    标签: c# .net compact-framework sql-server-ce


    【解决方案1】:

    我对这种情况的个人经验是使用网络的SQL CE to do Merge Replication instead 服务有一些很好的理由:

    1. 您的应用程序变得更容易开发,因为您可以直接读取/写入数据库并让 CE 引擎进行合并。 (Linq to Sql 等)
    2. 您可以在服务器或客户端手动控制合并冲突。而且这已经建好了,你不必自己建。
    3. 无需备份,因为您在 CE 设备上的数据已经在数据库中。
    4. 数据可以根据需要在本地缓存,filtered by device or user(意味着只有设备/用户需要的数据才能复制到设备上。)

    虽然这确实需要更多的 SQL 知识,但它是一种可靠的技术,并且不需要不断地重写、测试和调试。

    如果您被锁定在使用 Web 服务,那么使用 SQL CE 对我来说似乎有点矫枉过正。我会简单地复制数据库的功能并将事务写入文件(xml/json/binary),然后根据需要使用它们(在 wi-fi 范围内针对 web 服务运行它们或在机器上运行服务将文件从移动设备上提取到本地 PC 或服务器上并运行这些事务。

    【讨论】:

    • 您好,埃里克,感谢您的回答。他们很有帮助。是的,我们几乎都在使用网络服务。手机只是其中一个组件,我们还有其他客户使用相同的服务。我同意仅仅为了备份而构建数据库似乎是过大的。但是感谢您的建议,我们可能会考虑将 SQL CE 用于另一个即将到来的移动项目。
    • 即使是存储和转发的东西,我仍然会使用 SQL CE。它不会增加太多 XML 的开销,而且它会将数据库的所有基础架构都放入项目中以备将来使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 2011-11-12
    • 1970-01-01
    • 2012-01-09
    相关资源
    最近更新 更多