server did not respond within the specified timeout interval - OCI mode

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
slaxman
Posts: 51
Joined: Wed 16 Sep 2009 20:09
Location: United States

server did not respond within the specified timeout interval - OCI mode

Post by slaxman » Fri 15 Jun 2012 20:08

The timeout error happens in OCI mode and I read from other posts that using 'connection timeout=0' in the connection string might help. Is the timeout implemented in OCI mode at all? If not, would it matter if it is set to 0 or lkeft as default 15 seconds? here is the inner exception...
------------

INNER EXCEPTION (Devart.Data.Oracle.OracleException): Server did not respond within the specified timeout interval
Stack Trace: at Devart.Data.Oracle.bc.a(ad A_0, ai A_1)
at Devart.Data.Oracle.OracleInternalConnection..ctor(ad connectionOptions, OracleInternalConnection proxyConnection)
at Devart.Data.Oracle.dc.a(j A_0, Object A_1, DbConnectionBase A_2)
at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, j A_1, DbConnectionBase A_2)
at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection)
at Devart.Common.DbConnectionFactory.a(DbConnectionBase A_0)
at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)
at Devart.Common.DbConnectionBase.Open()
at Devart.Data.Oracle.OracleConnection.Open()
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)

Pinturiccio
Devart Team
Posts: 2420
Joined: Wed 02 Nov 2011 09:44

Re: server did not respond within the specified timeout interval - OCI mode

Post by Pinturiccio » Wed 20 Jun 2012 14:10

As Oracle Client does not allow using Connection Timeout, we are using a workaround. We create a separate thread and create a new connection in this thread. If connection cannot be established during the specified Connection Timeout, an exception is thrown.
In case CommandTimout = 0 for an OCI connection mode, we do not control the OCI and do not set any time restrictions for it. It desides itself how soon the attempt should be interrupted.

The reason of the issue is that connection to DataBase cannot be established. If you have unstable network, try using 'ValidateConnection=true;' OracleConnection connection string parameter.

Post Reply