C#:侦听oracle通知(插入,更新,删除)?

时间:2019-04-02 09:18:19

标签: c# oracle notifications

我正在尝试使用C#应用程序侦听Oracle数据库(插入,更新,删除事件),该C#应用程序用于生成用于自定义分析目的的数据。

实际上,我正在使用OracleDependency对象及其OnChange事件处理程序。 我使用OracleCommand(“ SELECT * FROM ...”)注册表,并使用AddCommandDependency将其添加。

它可以正常工作,但是对于删除事件,我无法检索源数据,因为该事件仅拥有rowid(而不是PK),并且在提交后被触发。我看到将RAWID值存储在收集的数据中(插入事件期间,删除事件之后,之后使用)不是一个好的解决方案,因为它的值可以更改。

所以我有不同的问题:    -是否可以检索主键?    -还是要在事件之前触发事件(例如“删除前触发”)?    -此外,是否可以在没有提交的情况下触发事件?

我有另一个想法,为所有表创建触发器,并将历史记录数据插入历史记录表。但是它可能需要非常大的内存才能存储。

您有解决此问题的想法吗?

谢谢!

0 个答案:

没有答案