.NET Compact Framework-SQL Server Compact或平面文件作为备份

本文关键字:Compact 备份 平面文件 Framework-SQL Server NET | 更新日期: 2023-09-27 18:28:10

我有一个关于在windows移动应用程序中使用数据库与平面文件的利弊的问题。

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

在库存系统中使用移动组件来接收交付。然后,这些数据通过Wi-Fi使用网络服务发送到应用服务器。

现在,我们需要实施一个备份计划。到目前为止,我们一致认为,当手机无法将数据发送到服务器时,它必须在本地保存数据,然后在以后发送。它可以使用手机发送,也可以通过usb将手机对接/连接到PC,usb将提取数据,PC可以将数据发送到服务器。

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

我想了解每种方法的优缺点,不仅要考虑到技术方面,还要考虑到所涉及的开发工作。

谢谢!

.NET Compact Framework-SQL Server Compact或平面文件作为备份

我对这种情况的个人经验是使用SQL CE来执行合并复制,而不是web服务的一些非常好的理由:

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

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

如果您被限制使用web服务,那么对我来说,使用SQL CE似乎有些过头了。我只需复制数据库的功能,将事务写入文件(xml/json/binal),然后根据需要使用这些事务(在wi-fi范围内的web服务上运行它们,或者在将文件从移动设备拉到本地PC或服务器上的机器上运行服务,并运行这些事务)。