ORA-03113 when re-executing prepared statement after commit

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
azabluda
Posts: 35
Joined: Thu 10 Sep 2009 14:45

ORA-03113 when re-executing prepared statement after commit

Post by azabluda » Wed 17 Jul 2019 12:51

Hello,

C++ Builder XE
ODAC 10.4.10
Oracle 11.2.0.1

Code: Select all

//---------------------------------------------------------------------------
void __fastcall TForm1::testBTNClick(TObject* Sender)
{
    // Connect to DB
    boost::scoped_ptr<TOraSession> session(new TOraSession(0));
    session->Server = ...;
    session->Username = ...;
    session->Password = ...;
    session->Options->Direct = true;
    session->Connect();

    // Prepare statement
    boost::scoped_ptr<TOraQuery> query(new TOraQuery(0));
    query->Session = session.get();
    query->SQL->Text = "savepoint hello";
    query->Prepare();

    // Execute and commit
    query->Execute();
    session->Commit();

    // Execute again
    query->Execute(); // << ORA-03113: end-of-file on communication channel
}
//---------------------------------------------------------------------------
This code works fine
- in OCI mode (Direct = false)
- with ODAC 9.7.28 (and below, both Direct and OCI)

Unfortunately this bug is a show stopper for our customers who are upgrading to Oracle 18c and thus require ODAC 10+. Thank you in advance for a quick response!

Alexander

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: ORA-03113 when re-executing prepared statement after commit

Post by MaximG » Thu 18 Jul 2019 06:44

Thank you for the information. We have reproduced the issue and will investigate its origin. We will inform you about the results shortly.

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: ORA-03113 when re-executing prepared statement after commit

Post by MaximG » Fri 19 Jul 2019 08:58

We've reproduced the issue and fixed it. The fix will be included in the new ODAC build, which we're planning to release next week.

Post Reply