Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error ORA-03111 break received on communication channel

I've got error ORA-03111 Break received on communication channel after change from oracle 11g to oracle 10g R1 at different server.

I use DotNet framework 4.5.

I have google around but didnt find any solution.

like image 378
Hayu Rahiza Avatar asked Oct 19 '25 13:10

Hayu Rahiza


2 Answers

In my case (getting the exception on connection.Open()) the problem turned out to be that the Oracle server was too old a version to use the Managed Provider.

According to: https://community.oracle.com/thread/2528641

ODP.NET, Managed Driver supports connecting to Oracle DB server 10.2 or higher. It does not support DB 10.1.

like image 148
Coxy Avatar answered Oct 21 '25 23:10

Coxy


In my case the reason was that input to the NVL function returned more than one row - the blabla subquery in the following:

PROCEDURE my_procedure(c_my_cursor OUT SYS_REFCURSOR) IS
  p_my_cursor SYS_REFCURSOR;
BEGIN
  OPEN p_my_cursor FOR
  select nvl((select blabla), 0) my_column from my_table;
  c_my_cursor := p_my_cursor;
END smiley_alle_jurenheder;

Interestingly enough, when running the query directly in SQL Developer, the correct error code is returned - "ORA-01427: single-row subquery returns more than one row".

like image 22
Martin Ørding-Thomsen Avatar answered Oct 22 '25 01:10

Martin Ørding-Thomsen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!