2016-03-09 68 views
1

我們有一個連接到Oracle 11g數據庫的C++遺留應用程序。該應用程序使用Microsoft數據訪問對象(DAO)庫來允許記錄瀏覽和修改。我們在表格上也有一些觸發器來跟蹤行更新和插入。觸發器沒有爲一個特定的CLOB列觸發

問題是觸發器不會觸發我們表中的CLOB列。它會被其他列解僱,但是對於這一個CLOB列,它在更新期間或刪除期間都不會觸發。我已經爲所有三個添加了觸發器:UPDATE,INSERT和DELETE。

是否有一些選項可以管理CLOB的觸發器?或者其他一些可能影響到這一點的設置?任何想法應該在哪裏尋找解決方案?

回答

0

我發現了一個可能的解釋這種非發射扳機:

你觸發實際工作 - 當它被解僱了!

問題是 - 當您設置lob值時,您沒有更新表格。您可能正在修改高球內容,但是 - 這很關鍵 - 您不會修改表格中的高球定位器。該表的行值沒有變化,觸發不火的dbms_lob.copy(或寫,或修剪,或追加,或......)

我想提出的解決方案here at askTom需要有一個具體的程序,但我不太明白。