2013-02-19 82 views
2

正如我的标题所说,我需要弄清楚如何在彼此之间同步两个我的Microsoft Lightswitch应用程序。 此外,重要的是一个应用程序在网络上,另一个应用程序在桌面上创建。同步两个Lightswitch应用程序

因此,我需要的是从Web服务器拉下数据库条目并将其放入桌面PC使用的数据库中。

让我知道你是否需要更多的信息。

回答

1

正如Yann所说,它不是一个开箱即用的功能,但应该可以在Lightswitch的代码中完成。

您需要手动编写代码以执行实际的同步(通过连接到Web服务器上的数据库并使用SQL查询同步数据),但是因为这无法在客户端完成(Silverlight doesn'允许使用SQL类),您可以使用'命令表'模式(http://blog.pragmaswitch.com/?p=332)。

基本上,您创建一个新表(例如,SyncRequests)并从客户端添加一条记录,然后您可以使用服务器代码(通过SyncRequests_Inserted事件)执行您的同步代码。

用于同步数据库的实际代码将取决于您想要执行的操作(从Web数据库覆盖本地数据库中的所有数据,合并记录,仅添加新等)以及一般数据库结构。

0

您可以在发布向导期间将您的桌面应用程序指向Web服务器上的数据库。还是他们完全不同的数据库,完全不同的表?

+0

他们有相同的表,同样的名字也。 – Hoh 2013-02-22 09:29:41

+0

然后,按照我的建议,在发布向导期间更改连接字符串以指向Web服务器上的数据库。我没有尝试过这个,但它*应该*工作。 – 2013-02-22 13:08:16

+0

谢谢你的建议,但是。我想在主PC上有本地数据库,并在Web服务器上有可共享数据库。而我的客户想要的是每月同步两个数据库一次或两次,以便将来自Web服务器的所有信息都存入本地数据库。 – Hoh 2013-02-22 13:35:24

0

有两种方式:

第一种方式 - 复制

  1. 可以更改使用MSSQL数据库。
  2. 在数据库上启用复制。数据库将在两个数据库之间同步。

方式二 - 手动同步

  1. 这两个数据库是彼此独立的。
  2. 不时不时地从服务器进行备份或从桌面进行备份。
  3. 在两个数据库上运行数据库比较应用程序。

  4. 创建一个脚本来同步客户端数据库的数据。

  5. 创建脚本以同步服务器的数据库元数据。

  6. 运行更新脚本来更新服务器的元数据。

  7. 运行更新脚本来更新客户端的数据。