每次更新Oracle DB的特定表(任何类型的更新,包括记录的添加,删除和修改)时,我都需要在Java中运行一个方法。
对具有良好性能且不会对数据库造成太大压力的Java更改表进行“轮询”的最有效方法是什么?
不幸的是,我有很多限制:
问题内容: 我有一个Java应用程序连接到远程Oracle数据库上的视图。 有谁知道Java中监视此表更改的方法吗?即,如果有更新的插入等,我需要做出反应。 问题答案: 您可以在表上放置INSERT / UPDATE / DELETE触发器,以在对表进行“数据”更改时执行某些操作。(而不是更改表的结构) 我相信10g也支持视图触发器。 但是我不确定您如何通过轮询来通知其他Java进程。 抱歉。 您
我正在使用RHEL8,它安装了默认的OpenJDK。哪个java命令指向/usr/bin/java。java-version提供openjdk版本“1.8.0_252” 已在/u01/app/java/location中安装java。修改了。如下图所示 现在JAVA_HOME指向/u01/app/JAVA/jdk1。8.0_241/但哪种java或java版本仍然指向OpenJDK。 bash_p
问题内容: 我有一个班上的一个项目。当我们的两个表对它们进行了更改时,我们需要创建一个日志:insert / update /delete。我们需要使用Oracle触发器和PL-SQL。在日志文件中,我们需要记录UserID,DateTime,IPAddress和Event(插入/更新/删除)。我知道如何设置触发器,但是我遇到的主要问题是UserID(从以UserID在Users表中登录到PHP站
我有Oracle分配了81989的SRID的空间数据。我想将其更改为27700——它们都是相同的坐标系,只是Oracle使用自己的SRID;所以不需要重新投影(例如不起作用,因为它实际上也改变了坐标,这是我不想要的))。 我已经很容易地更新了,但是包含数据本身的也有SRID,我不知道如何更改它。 例如,我当前的数据如下所示: 我需要把它改成: 对于表中的所有行。但是我不知道如何自动改变SDO_GE
问题内容: 我的同事在工作中提出了一个我无法回答的问题(由于缺乏经验),该问题与跟踪表中相关字段的变化有关。 想象一下,我们有3个表,每个表20个字段。在此示例中,我们考虑这些表中的每一个都有2个字段,一个名为LastUpdatedOn,另一个名为LastUpdatedBy。 如果我们只想跟踪这3个表中的更改,而只跟踪几个特定字段,而没有为每个表创建包含更新前最新版本的历史表,那么我们如何跟踪这些
问题内容: 目前,我有一列被声明为NUMBER。我想将列的精度更改为NUMBER(14,2)。 所以,我跑了命令 为此,我遇到了一个错误: 我猜想它在更改精度时希望该列为空,但我不知道为什么要在增加它的同时降低它,所以列中的数据不会丢失。有一个简短的解决方法吗?我不想将其复制到另一个表中,然后再删除它,或者重命名一列并在各列之间进行复制,因为存在传输和删除之间丢失数据的风险。 问题答案: 假设您最