我有多個數據源插入和更新到oracle10g數據庫。我也有多個想要知道何時發生插入或更新的客戶端。我想知道oracle是否具有某種本地功能,可以讓我的客戶意識到發生了插入或更新?我覺得答案是否定的,但爲了以防萬一。有應用程序可以掛接接收更新的本地oracle功能嗎?
謝謝!
編輯:理想推送通知
我有多個數據源插入和更新到oracle10g數據庫。我也有多個想要知道何時發生插入或更新的客戶端。我想知道oracle是否具有某種本地功能,可以讓我的客戶意識到發生了插入或更新?我覺得答案是否定的,但爲了以防萬一。有應用程序可以掛接接收更新的本地oracle功能嗎?
謝謝!
編輯:理想推送通知
根據你的目標有幾種不同的機制。
您可以使用Oracle Asynchronous Queues (AQ)來發布更改,然後讓應用程序通過OCI或通過某個更高級別的Oracle AQ API(例如爲AQ爲J2EE應用程序提供JMS隊列)訂閱更改。
如果您正在編寫OCI應用程序,則Oracle提供對continuous query notification的支持,這是將數據推送到客戶端的另一種方法。
最後,您的應用程序可以使用Oracle Change Data Capture (CDC)來訂閱更改。最後一個選項將更多地是一個投票選項(即您的應用程序會每隔幾分鐘詢問是否有任何有趣的更改)。另外兩個是推送選項。
我前面有很多閱讀。謝謝 – teriyaki 2010-10-05 18:16:52
我們已經很成功地使用了DBMS_ALERT;您可以使用觸發器向註冊接收通知的客戶端發送警報。有效性可能取決於您要查找的更改的數量和類型。 http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_alert.htm
謝謝!我會仔細看看的。 – teriyaki 2010-10-05 18:16:23
推送通知?還是投票? – 2010-10-04 19:27:27