Page 1 of 1
AsyncNotification of TOraQueue don't work via Remoted base
Posted: Wed 08 Oct 2008 12:03
by cemick
I'm derive messages, When I use AsyncNotification with connection to localHost DataBase, but I don't derive when DataBase a remoted..
OCI ver. 9.2.0.8
ODAC ver. 6.50.0.39
OC Win Xp SP2, firewall disabled
Posted: Thu 09 Oct 2008 09:17
by Plash
This problem is caused by an OCI bug. AsyncNotification doesn't work for all servers.
Posted: Thu 09 Oct 2008 10:08
by cemick
Plash wrote:This problem is caused by an OCI bug. AsyncNotification doesn't work for all servers.
I'm using same server both times, only run my application on remote computer
Posted: Thu 09 Oct 2008 12:09
by cemick
And I don't receive Notification, If I try enqueue message from localhost with Oracle 10.2.0.4 OCI to remoted Oracle 10.2.0.3 DB Server
Posted: Fri 10 Oct 2008 07:28
by Plash
This is the OCI limitation.
Maybe you should use DBMS_AQ.LISTEN procedure to get notification about messages.
You should call this procedure from a separate thread to prevent the main thread from blocking.
You can use the Listen method of TOraQueue to call this procedure, or you can call the procedure using standard ODAC components such as TOraStoredProc or TOraQuery. In the second case you can set the NonBlocking property of TOraDataSet to True instead of manually creating a thread.