当前位置:  开发笔记 > 编程语言 > 正文

Oracle表更改监视器

如何解决《Oracle表更改监视器》经验,为你挑选了2个好方法。

我有一个java应用程序连接到远程Oracle数据库上的视图.

有没有人知道在Java中监视此表的更改方式?即如果有更新插入等我需要做出反应.



1> FerranB..:

查看Oracle Change Notification,这是一个非常有趣的Oracle功能.

来自Oracle文档:"数据库更改通知是一项功能,使客户端应用程序能够向数据库注册查询并接收通知,以响应与查询关联的对象的DML或DDL更改.当DML时,数据库将发布通知或DDL交易提交."



2> ShoeLace..:

您可以在表上放置INSERT/UPDATE/DELETE触发器,以便在对表进行"数据"更改时执行某些操作.(而不是改变表的结构)

我相信10g还支持视图触发器.

但是我不知道你怎么能通过民意调查这个其他的java进程.

抱歉.

你可以创建一些解决方案,其中java应用程序有一个'listen'服务器,数据库将它推回一个消息.但这听起来很难维持.

Justin Cave在评论中建议您可以配置Oracle Streams以发送Java应用程序可以通过JMS订阅的逻辑更改记录(LCR).或者触发器可以将记录写入Java可以通过JMS订阅的高级队列.

您仍然需要警惕Oracle转换..由于Oracle事务的工作方式,触发器将触发更改,但它也可能会多次触发..

并且在任何情况下,java应用程序都无法在执行提交之前"看到"更改.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有