我正在构建一个系统,我需要在基于.net的应用程序中通知窗口服务,以防数据库表(插入,更新,删除)发生任何变化。我知道这可以通过SQL中的ADO.NET事件来完成。是否有任何可以提供这类通知的Oracle和SQL的通用解决方案。这需要在更新实时发生时发生。
答案 0 :(得分:5)
SQL Server唯一有效的推送技术是Query Notifications,它适用于非常平台特定的方式,如SqlDependency。 Oracle在Data Change Notifications中具有等价物,这与平台特定相同。由于两种实现之间存在巨大差异,因此两者之间没有共同的层抽象,任何时候都没有任何机会出现。
BTW,改变数据捕获等技术旨在使断开连接的客户端保持同步(即同步框架),它们基本上是复制的,它们不适合数据更改客户端通知。答案 1 :(得分:2)
SQL Server和Oracle都支持更改数据捕获。
http://msdn.microsoft.com/en-us/library/bb522489.aspx
http://download.oracle.com/docs/cd/B10501_01/server.920/a96520/cdc.htm
您可以捕获更改并将其传播。
此外,还有第三方产品将在SQL Server和Oracle之间进行复制。