如何从delphi应用程序监视SQL Server数据库表

Moh*_*bee 5 sql-server delphi

如何从Delphi应用程序(实时)监控特定表并获取新的和更新的记录数据?

da-*_*oft 8

通常,您可以使用数据库事件/通知/警报.确切的术语和实现取决于DBMS.有关详细信息,您可以在AnyDAC文档中查看"DBMS警报机制" .

在后端,您可能需要为所需的表实现触发器.对于某些DBMS,它不是必需的.例如,使用Firebird,触发器必须调用POST_EVENT语句.使用SQL Server,必须调用一组特殊的查询更新通知API运算符来准备表.

在客户端上,您应该使用特殊的API,或者标准的SQL查询机制.例如,使用Firebird必须使用特殊事件API.使用Oracle后台线程+标准SQL API.

Delphi实现依赖于DBMS和数据访问组件.一些例子:

  • dbGo(ADO)在使用特殊API实现时不支持通知;
  • dbExpress - 相同;
  • IBX - TIBEvents与Firebird一起使用;
  • AnyDAC - 使用TADEventAlerter.它以统一的方式为许多DBMS支持许多不同的机制.披露:AnyDAC是我所代表公司的旗舰产品.