ORA-03111 break error on communication channel

I have error ORA-03111 Timeout received over communication channel after changing from oracle 11g to oracle 10g R1 on another server.

I am using DotNet framework 4.5.

I have google but couldn't find any solution.

+4


source to share


4 answers


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.

+3


source


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

+2


source


My problem was a missing column in the database. It was created in a different environment. It was difficult to find the real problem because this error doesn't tell us anything.

There was a real problem while debugging on another computer.

Hope this helps someone.

0


source


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

-1


source







All Articles