0

我想为存储人员个人信息的客户(工厂)开发一个桌面应用程序。在这个应用程序中,我们为应用程序用户定义级别。我的意思是一个用户是顶级(父母)可以看到所有存储的人员数据,第二级(第一个孩子)可以看到它的数据和它的孩子的数据等等。与树视图完全相同,每个节点都可以看到其数据和子数据。这意味着父工厂有一些孩子的工厂,孩子有孩子。

在在线应用程序中,您可以很容易地处理这个问题,但这个是离线的。现在他们在他们的应用程序中输入他们的人事信息(每个用户都有不同的 PC)。

现在你知道最大的问题是将孩子的 DB 合并到他们的父 DB .Ch3 和 Ch4 将他们的 DB 发送到 Ch1 和 Ch5、Ch2 相同,然后 Ch1 和 Ch2 到 Parent.we 在合并时有冲突,例如 ch1 的一个人去 ch3数据重复,或者当父母拥有所有数据时,一个孩子更改一个人的国家代码(唯一密钥),那么在合并中我们无法更新现有的然后在合并中发生冲突,并且您知道很多问题。

合并数据库的任何想法!?

在此处输入图像描述


abit 关于我的数据库。personInformation 是主表,有一个名为 PersonnelFactory 的相关表,每行有一个人工厂,并输入日期和退出日期以及人员代码。该工厂的人员等级(工作)表。这是 DB 的一小部分,供您了解问题。

4

1 回答 1

0

您可以做的是在服务器端创建一个中央数据库。在客户端,客户端将在本地进行更改,只要互联网可用,他们就可以通过该中央服务器数据库上传他们的更改并下载其他人所做的更改。

看看微软同步框架。它会自动处理许多复杂的合并场景。有很多解决方案可以避免客户端上的重复键,其中之一是使用GUIDor uniqueidentifies

这里有一些有用的资源

Sync Framework 数据库同步简介

教程:同步 SQL Server 和 SQL Express

于 2013-08-03T07:22:49.890 回答