代码之家  ›  专栏  ›  技术社区  ›  simon831

如何构建脱机数据库

  •  0
  • simon831  · 技术社区  · 16 年前

    我正在设计一个桌面应用程序,它在没有internet连接的情况下以只读状态运行。当连接再次可用时,它将使用webservices更新中央数据库。

    我可以使用什么技术“下载”适用于每个客户端的一组数据以供脱机使用?

    4 回复  |  直到 16 年前
        1
  •  1
  •   C. Ross trotttrotttrott    16 年前

    SQL Server Compact Edition 正是为了这个过程而设计的。它有同步功能,但请注意,它没有 满的

        2
  •  0
  •   t0mm13b    16 年前

    这取决于您的要求、连接类型(是否有线/无线?),是便携式笔记本电脑/掌上电脑类型/台式电脑,有几种方法可以做到这一点,通常,您希望每隔几分钟监控一次网络连接(可配置),当网络连接上有活动时,连接到Web服务(再次,防火墙呢?)并从数据库中下载更新。对网络的监控可能会有所不同,例如,如果你正在谈论诸如pda之类的便携式设备,那么每隔一段时间就ping一次Web服务的ip地址(这是确定网络连通性的一种常见且最简单的方法)。这变得更为棘手(在vs的标准控件中没有合适的方法来实现这一点-你可能想查看opennetcf.org以获得扩展和activesync的增强功能)…在检查网络连接时,请注意不要因为轮询而占用太多cpu时间。

        3
  •  0
  •   Chris Marisic    16 年前

    这不是智能客户端应用程序的目的吗?

    ESENT database 这是内置在windows中的。另一种选择是在应用程序中包含SqlLite或类似的嵌入式数据库,当连接存在时,这些数据库将同步。

        4
  •  0
  •   Scott    16 年前

    以下url上有ado.net版本:

    http://sqlite.phxsoftware.com/

    包括引擎在内的所有内容都包含在dll中。非常容易部署。

    我刚刚开始在一个类似的项目中使用它,到目前为止它似乎工作得很好。

    它支持各种标准sql功能,如视图、触发器等。

    斯科特