首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在局域网中同步不同计算机上的数据库

如何在局域网中同步不同计算机上的数据库
EN

Stack Overflow用户
提问于 2011-02-20 20:52:10
回答 1查看 1.7K关注 0票数 0

我在许多电脑上安装了我的客户端应用程序,每台电脑都通过局域网连接。每个客户端应用程序都使用自己的SQL数据库。我需要同步每台计算机中的数据库,以便每个客户端应用程序都有相同的数据。如何使用VB.net (VS2010,Winforms)实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2011-02-20 22:00:30

一种方法是使用队列表。在表上放置一个insert/update触发器,以将任何更改推入队列。如果插入了表行,然后更新了两次,那么队列中将包含insert、update、update信息。然后,客户端根据上次从队列中拉出的时间从队列中请求更改。队列的优点是负载很小。您可能有一个包含100,000行的表,但您只下载了所需的3或4个编辑。

另一种技术是抓取整个表。对临时表执行大容量插入。然后执行基于集合的update/insert来更新现有行,插入新行。

你想出的任何解决方案都会有800磅的大猩猩在房间里。这就是合并。如果2个用户的提交冲突数据编辑到同一行,那么就有问题了。您可以通过更频繁地同步来减少这种机会。由于只同步自上次以来的新编辑,因此队列表可以更好地经常进行同步。如果你非常非常幸运,你的应用程序的性质将使每个客户端只接触它自己的数据,所以合并不会是一个问题。

您处于LAN环境中。只有一个数据库,所有客户端都可以访问。这是关系数据库应用程序的传统模型,效果非常好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5057142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档