离线应用客户端 - 服务器

时间:2013-08-03 06:02:52

标签: c# client-server offline offlineapps

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

在在线应用程序中,您可以轻松处理这个问题,但这个版本处于脱机状态。现在,他们在应用程序中输入人员信息(每个用户都有不同的PC)。

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

合并DB的任何想法!

enter image description here


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

1 个答案:

答案 0 :(得分:0)

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

查看Microsoft Sync Framework。它会自动处理许多复杂的合并方案。有许多解决方案可以避免客户端上的重复密钥,其中之一是使用GUIDuniqueidentifies

这是一些有用的资源

Introduction to Sync Framework Database Synchronization

Tutorial: Synchronizing SQL Server and SQL Express

相关问题