我正在使用ODP.NET编写的应用程序中使用数据库更改通知(DCN)。 Oracle 11g 11.2.0.2.0的一个实例接受DCN注册,另一个实例拒绝它们用于同一查询。据我所知,两个数据库的模式完全相同。两个用户都具有更改通知权限。什么可能导致一个数据库拒绝另一个接受的注册请求?
该查询类似于select * from my_table;
,错误消息为ORA-29983: Unsupported query for Continuous Query Notification
。
谢谢!
答案 0 :(得分:2)
如Continuous Query Notification documentation所述,对可以注册查询结果更改通知的查询有很多限制,包括引用同义词。
根据您的评论,似乎您在失败的实例中有一个同义词,这解释了您所看到的错误。
(拼写错误的)error message操作也指视图和同义词:
ORA-29983:不支持的查询连续查询通知
原因:无法为Continuous Query Notification注册查询 操作:查询有一些构造使其与Continous不兼容 查询通知,如同义词或视图。请查看文档 完整清单。