Page 1 of 1

bug stopping alerter bcb xe10 seattle

Posted: Thu 16 Jun 2016 12:33
by albourgz
unsing odac 9.7.24, c++ builder xe10 pro 23.0.21418.4207 .
I have a global TOraSession * GDB in a datamodule, and a TOraAlerter * on a form.
The alerter works correctly, receives messages, ... but an error is triggered when closing the form stops the alerter.
In the OnCloseQuery event, I have

Code: Select all

void __fastcall TFGeneralFrame::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if (GDB->Connected)
        if (OraAlerterWait->Active)
            OraAlerterWait->Stop();
    CanClose=true;
}
I have to include the stop in a try {} catch(...){} block to avoid the following exception when closing form:
Project cec.exe raised exception class EOraError with message 'ORA-01013: user requested cancel of current operation
ORA-06512: at "SYS.DBMS_ALERT", line 250
ORA-06512: at line 1'.

Why Why Why?

Re: bug stopping alerter bcb xe10 seattle

Posted: Mon 20 Jun 2016 09:50
by AlexP
Hello,

The code provided in the post works correctly. Please send your sample reproducing the issue to support*devart*com.

Re: bug stopping alerter bcb xe10 seattle

Posted: Mon 20 Jun 2016 11:50
by albourgz
This problem occurs only in direct mode.

Re: bug stopping alerter bcb xe10 seattle

Posted: Mon 20 Jun 2016 11:59
by AlexP
We can not reproduce the problem in the direct mode either. Please send us a complete example.

Re: bug stopping alerter bcb xe10 seattle

Posted: Mon 20 Jun 2016 16:28
by albourgz
FYI, workaround: raising Interval from 1000 to 4000 fixes the issue.
It seems ODAC direct mode with Oracle 12c cluster is slower than using 11.2 client against 12c cluster (as problem doesn't happen using oracle 11.2 client).

Re: bug stopping alerter bcb xe10 seattle

Posted: Tue 21 Jun 2016 08:35
by AlexP
Glad to see that you have found the solution. If you have any other questions, feel free to contact us