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.
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.
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".