0

我正在使用其文档中的示例代码(此处)测试 Oracle 中的数据库更改通知功能

在运行程序之前,我在数据库中运行了这个命令:

grant change notification to [USER];

启动程序后,我在数据库中查询表USER_CHANGE_NOTIFICATION_REGS,得到了这一行

306 4   net8://(ADDRESS=(PROTOCOL=tcp)(HOST=10.5.1.6)(PORT=47632))?PR=0 0   0   4294967295  [SCHEMA].[TABLE]

其中 schema 和 table 指定我要注册的用户和表。

但是,在表中运行一些更新命令后,onDatabaseChangeNotification 中指定的代码即使在几分钟后也不会执行。

大家有遇到过这样的问题吗?

4

1 回答 1

0

我发现了问题。

示例中指定

// if connected through the VPN, you need to provide the TCP address of the client.
// For example:
// prop.setProperty(OracleConnection.NTF_LOCAL_HOST,"14.14.13.12");

问题是我通过 VPN 连接到我的数据库

于 2020-12-07T03:18:32.433 回答