我正在使用Oracle和ODP.Net並註冊一些連續的查詢通知。連續查詢通知自動取消註冊
一切正常工作良好的數據庫升級到11.2.0.3 - 現在我看到我的查詢註冊並在幾秒鐘後註銷。代碼如下所示:
OracleCommand cmd = new OracleCommand();
cmd.Connection = getOpenConnection();
cmd.CommandText = _sqlStatement;
_odep = new OracleDependency(cmd, false, 0, false);
_odep.OnChange += new OnChangeEventHandler(_odep_OnChange);
OracleDB.bindVars(ref cmd, arguments);
cmd.Notification.IsNotifiedOnce = false;
cmd.ExecuteNonQuery();
在數據庫的某處是否有CQN註冊日誌?
編輯:getOpenConnection()只是一個返回打開連接的函數,而OracleDB.bindVars只是將現有的綁定變量綁定到該命令。強調數據庫更新前一切正常的事實:)
你可以檢查你從SELECT * FROM DBA_CHANGE_NOTIFICATION_REGS獲得的結果(註冊你的通知後) – Eggi 2012-03-09 06:11:47
嗨Eggi,謝謝你的回答。當我執行該sql命令時,我發現查詢已成功註冊 - 但如果我在一分鐘後重複查詢,它們就會消失。它可能與ODP.Net驅動程序版本有關嗎? – Andrea 2012-03-09 13:56:53
也許你可以嘗試使用11.2.0.3('http:// www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html')。你甚至收到任何通知?也許關於防火牆(在運行客戶端的機器上 - 因爲服務器連接到客戶端)或某事發生了一些變化。 – Eggi 2012-03-09 14:12:59