1条回答 默认 最新
- 憧憬blog 2023-03-15 09:11关注
首先,我们需要确认一下代码中使用的Oracle.DataAccess是否是最新的版本。其次,我们需要检查一下数据库的配置是否符合要求,例如DBMS_AQADM包是否已经授权给了当前用户。此外,我们还需要确保数据库中启用了Change Notification功能。
关于C#使用OracleDependency不触发的问题,还有以下一些可能的原因:
- 数据库的配置参数设置不正确。比如,MAX_DISPATCHERS和MAX_QUEUESIZE参数的值可能设置得不正确。
- 数据库已经在侦听请求,但是OracleDependency的实例已经被垃圾回收清除掉,因此无法收到通知。
- 数据库的缓存中可能还存在相同的查询语句,缓存中的结果可能会被返回,而不会触发实际的查询操作。
- C#代码中可能存在某些错误,比如事件处理器可能没有正确注册、可能因为多线程问题导致程序出现竞争条件等等。
在排查问题时,可以尝试使用SQL Trace功能来查看数据库与C#应用程序之间的通信,以便更准确地定位问题的根本原因。同时,也可以参阅一些官方文档与学习资源,例如Oracle官方文档、Stack Overflow等开源社区,以便更好地解决该问题。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换