客户端 - 服务器数据库应用程序:如何通知客户端数据已更改?
是否可能知道数据库中某些表的内容何时以及是否已更改?
我的SQL Server如何通知客户端应用程序数据被另一个用户更改了?如何使用dbGo实现查询通知?
Is it possible to know when and if the contents of certain tables in a database has changed? How can my SQL Server notify the client applications that the data was changed by another user? How to implement query notifications with dbGo ?
我的客户端需要轮询数据库,还是有一个回调机制?
Do my clients need to poll the database, or is there a callback mechanism for this?
我的客户端是一个带有 TADODataSet
的Delphi应用程序,我的服务器是SQL Server 2005/2008,为多个客户端提供服务。
My client is a Delphi application with TADODataSet
, and my server is SQL Server 2005/2008, serving multiple clients.
Delphi dbGo
控制项不支持 查询通知
,因此要么轮询数据库,要么尝试检查eg以下某些:
The Delphi dbGo
controls does not support Query Notifications
, so either poll the database or try to check e.g. some of the following:
-
服务器事件的WMI提供程序 - MSSQL服务代理
-
DA-SOFT AnyDAC TADEventAlerter组件 - 查询通知机制
-
Devart SDAC TMSChangeNotification组件 - 查询通知机制
WMI Provider for Server Events - MSSQL Service Broker
DA-SOFT AnyDAC TADEventAlerter component - Query Notifications mechanism
Devart SDAC TMSChangeNotification component - Query Notifications mechanism