Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个VB.NET客户端之间实时更新SQL数据库_Sql_Vb.net_Real Time - Fatal编程技术网

在多个VB.NET客户端之间实时更新SQL数据库

在多个VB.NET客户端之间实时更新SQL数据库,sql,vb.net,real-time,Sql,Vb.net,Real Time,我正在使用SQL数据库,并且正在编写VB.NET客户端应用程序。此应用程序同时在多台计算机上使用。如果其中一个客户机对数据库进行了更新,我希望其他客户机知道该更新 确保您的表具有DateUpdated列 读取表时,将dateUpdated值保存到内存变量中 更新表时,如果您使用的是MS SQL Server,则可以在数据更新时向客户端推送通知。但这不是我个人使用过的东西。环顾四周后,我发现了一些关于ServiceBroker的好信息。我还读了以下内容 “查询通知是为不经常更改的数据而设计的。它最

我正在使用SQL数据库,并且正在编写VB.NET客户端应用程序。此应用程序同时在多台计算机上使用。如果其中一个客户机对数据库进行了更新,我希望其他客户机知道该更新

  • 确保您的表具有DateUpdated列
  • 读取表时,将dateUpdated值保存到内存变量中

  • 更新表时,如果您使用的是MS SQL Server,则可以在数据更新时向客户端推送通知。但这不是我个人使用过的东西。

    环顾四周后,我发现了一些关于ServiceBroker的好信息。我还读了以下内容

    查询通知是为不经常更改的数据而设计的。它最好用于服务器端应用程序(如ASP.NET或远程处理),而不是客户端应用程序(如Windows窗体应用程序)。请记住,每个通知请求都在SQL Server中注册。如果有大量客户端应用程序每个都请求通知,这可能会在服务器上造成资源问题。Microsoft的建议是,对于客户端应用程序,查询通知的使用限制为不超过十个并发用户。”

    这是我关心的问题,因为我有大约10个表,它们更新得相当频繁(每5秒一次)

    Maybee某人有使用ServiceBroker通知处理更频繁更改的数据的经验

    多谢各位

    马塞尔

    我也有同样的问题。 我的解决方案是创建一个审计表! 审核表包含所有表名和另一列日期时间

    当用户更改数据时,也会更新审核表中的日期时间

    所有用户每4秒检查一次审核表。如果其中一个表已更新,则用户将重新加载整个表


    对不起我的英语

    您正在使用什么RDBMS?另外,我想你的意思是在他们尝试更新之前发出通知,而不仅仅是检测并发冲突?我必须在你回答的同时将其作为一个问题添加到OP上!你好,Raj,我希望客户知道数据库的任何更改。如上所述,由于高峰时间(每5秒)的更新频率,notification services看起来没有解决方案。你可能有其他想法吗?我没有完全阅读这个链接,但它说了一些分布式LINQ查询和订阅/过滤等。同意这听起来对你的场景不是特别有用。顺便说一下,堆栈溢出问题和答案是分开的,因此您应该将这些附加信息编辑到问题中,而不是将其作为答案发布!对不起,马丁用错了…:)关于这一点,你可能还有其他想法吗?是否有其他选项可用于代替Service Broker通知?谢谢,Marcel@Marcel不是真的。如果您无法获得推送通知,那么我想您必须让应用程序轮询数据库本身,并与时间戳或日期时间字段进行比较,以查找已更改的记录。