我正在使用SQL数据库而我正在编写VB.NET客户端应用程序。此应用程序同时在多台计算机上使用。如果其中一个客户端对数据库进行了更新,我希望让其他客户端知道更新。
答案 0 :(得分:1)
如果您使用的是MS SQL Server,则可以使用Service Broker notifications在数据更新时将通知推送到客户端。这不是我个人使用的经验。
答案 1 :(得分:0)
请注意,这仅适用于您在保存数据时检测更新的情况。如果您希望在当前显示的记录已更新时通知客户端应用程序,那么就像其他人提到的那样,您将不得不使用某种通知服务。
答案 2 :(得分:0)
环顾四周后,我发现了一些关于Service Broker的好消息。我还阅读了以下内容;
“查询通知是针对不经常更改的数据而设计的。它最适用于服务器端应用程序(例如ASP.NET或远程处理)而不是客户端应用程序(例如作为Windows窗体应用程序)。请记住,每个通知请求都在SQL Server中注册。如果您有大量客户端应用程序请求通知,这可能会在您的服务器上造成资源问题。微软的建议是客户端应用程序,您将查询通知的使用限制为不超过十个并发用户。“
这是我关注的问题,因为我有大约10个表,这些表经常更新(每5秒钟一次)。
也许有人有使用Service Broker通知来更频繁更改数据的经验。
非常感谢!
马塞尔
答案 3 :(得分:0)
我有同样的问题。 我的解决方案是创建一个审计表! 审计表包含所有表名和另一个包含日期时间的列。
当用户更改数据时,还会更新审计表中的日期时间。
所有用户每4秒检查一次审计表。如果其中一个表已更新,则用户重新加载整个表的更新方式。
抱歉我的英文。