2010-03-26 30 views
1

我正在構建一個系統,我需要在基於.net的應用程序中通知窗口服務,以防數據庫表中的任何更改(插入,更新,刪除)。我知道這可以通過SQL中的ADO.NET事件完成。有沒有可以提供這種通知的Oracle和SQL的通用解決方案。這需要在更新以實時方式發生時發生。SQL和Oracle數據更改時的通知

+5

您提出了21個問題並接受了0個答案。我建議你接受更多答案。 –

回答

5

SQL Server唯一的主動推送技術是Query Notifications,它的工作原理是很有平臺特有的方式,比如SqlDependency。 Oracle在Data Change Notifications中具有相同的功能,這與平臺特定的功能相同。考慮到兩種實現之間的巨大差異,兩者之間沒有共同的層抽象,也沒有任何時候出現的可能性。

順便說一句,像變更數據捕獲技術的設計保持同步斷開連接的客戶端(即同步框架),他們基本上是複製在disquise,它們不適合用於數據更改客戶端通知。

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之間進行復制。

+0

有沒有什麼辦法可以從Oracle的Data Capture事件通知.net客戶端? – user171523

+0

我相信你將不得不POLL定期的變化。 –

+0

如果您需要在您的應用中使用某種更改通知,那麼Oracle的更改數據捕獲不是您需要的技術。這很複雜,應該用於數據複製。而不是它,使用數據更改通知。 – user38123