ORA-03111 break error on communication channel
In my case (getting an exception on connection.Open()
) the problem turned out to be that the Oracle server was too old to use the Managed Provider.
According to: https://community.oracle.com/thread/2528641
ODP.NET managed driver supports connection to Oracle DB Server 10.2 or higher. It does not support DB 10.1.
source to share
In my case, the reason was that the NVL function input was returning more than one row - a 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, running the query directly in SQL Developer returns the correct error code - "ORA-01427: single-line subquery returns more than one row".
source to share
In my case Oracle doesn't like the parameters in this query.
select 0 AS id, object_name name from user_objects where object_type in(:table,:view)
changed this to:
select 0 AS id, object_name name from user_objects where object_type in('TABLE','VIEW')
and it works.
My ORM by default forces queries to use parameters,
Typical strange oracle ...
source to share