9

是否有可能知道数据库中某些表的内容何时以及是否发生了变化?我的 SQL Server 如何通知客户端应用程序数据已被其他用户更改?如何使用 dbGo 实现查询通知?

我的客户是否需要轮询数据库,或者是否有回调机制?

我的客户端是一个 Delphi 应用程序TADODataSet,我的服务器是 SQL Server 2005/2008,为多个客户端提供服务。

4

2 回答 2

1

不,您必须建立自己的“中间层”才能做到这一点。最简单的方法是轮询服务器。一个更复杂的解决方案是构建您自己的“中间层”服务器,该服务器轮询数据库并将通知推送到客户端(使用您自己的客户端连接)。

一个中间解决方案是在服务器上有一个单独的客户端轮询您需要“监视”的表并将“通知标志”写入另一个可由客户端轮询的数据库表。至少通过这种方式,客户端可以使用最少的数据轮询一个简单的表,该表列出了已更改的内容,然后可以由另一个选择查询读取。客户方面的努力要少得多。

于 2012-05-18T13:47:00.373 回答